Uncaught ReferenceError: требование не определено с Dojo API
Я видел несколько воплощений этой ошибки, но не видел ответа, напрямую связанного с использованием Dojo API/CDN. Я просто прохожу краткое руководство по диаграммам в Dojo, чтобы понять, как правильно применять круговую диаграмму. Я использовал простые инструкции для настройки веб-страницы, которую я мог бы использовать для проверки на своем местном языке (см. Ниже). Каждый раз, когда я запускаю .html
файл, я получаю ошибку - Uncaught ReferenceError: require is not defined
, Все предыдущие ответы указывают на src
быть неисправным, будь то cdn, api или путь к файлу. Я пробовал несколько CDN и конфигурации, в том числе src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
а также
<script data-dojo-config="async: 1"
src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>`,
все же я все еще получаю ту же ошибку (это прямо из документации). Любые предложения относительно того, что вызывает эту ошибку и как решить ее, чтобы проверить мою простую круговую диаграмму?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial: Pie Chart!</title>
<script> src="//ajax.googleapis.com/ajax/libs/dojo/1.13.0/dojo/dojo.js"></script>
</head>
<body>
<script>
require([
'dojo/dom',
'dojo/dom-construct',
'dojox/charting/Chart',
'dojox/charting/themes/Claro',
'dojox/charting/PiePlot'
], function (dom, domConstruct, Chart, theme, PiePlot) {
var pieChart = new Chart("chartNode");
// Set the theme
pieChart.setTheme(theme);
// Add the only/default plot
pieChart.addPlot("default", {
type: PiePlot, // our plot2d/Pie module reference as type value
radius: 200,
fontColor: "black",
labelOffset: -20
});
// Add the series of data
pieChart.addSeries("January",chartData);
// Render the chart!
pieChart.render();
});
</script>
<div id="chartNode" style="width: 550px; height: 550px;"></div>
</body>
</html>
1 ответ
Первое, что есть ошибка типа в строке 6 тега сценария, сценарий закрытого тега и атрибут src за пределами тега сценария, то почему у вас есть ошибка reuire, это не...
Кроме того, после исправления этих ошибок у вас все равно останутся ошибки,
так что вам нужно исправить импорт
'dojox/charting/PiePlot'
должен быть заменен 'dojox/charting/plot2d/Pie'
и вам нужно объявить свой chartData
Вот,
Если вам нужна версия файла, посмотрите этот GIST
В противном случае смотрите ниже рабочий фрагмент:
require([
'dojo/dom',
'dojo/dom-construct',
'dojox/charting/Chart',
'dojox/charting/themes/Claro',
'dojox/charting/plot2d/Pie'
], function(dom, domConstruct, Chart, theme, PiePlot) {
chartData = [
{ y: 389, text: "data1 " },
{ y: 125, text: "data 2" },
{ y: 285, text: "data 3" },
{ y: 193, text: "data 4" },
{ y: 21, text: "No data" }
];
var pieChart = new Chart("chartNode");
// Set the theme
pieChart.setTheme(theme);
// Add the only/default plot
pieChart.addPlot("default", {
type: PiePlot, // our plot2d/Pie module reference as type value
radius: 200,
fontColor: "black",
labelOffset: -20
});
// Add the series of data
pieChart.addSeries("January", chartData);
// Render the chart!
pieChart.render();
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script>
<div id="chartNode" style="width: 550px; height: 550px;"></div>