我正在维护和扩展 AMD 之前的旧项目。我希望在应用程序中添加一个图表。为此,我创建了一个 js 文件,如下所示:
define(["dojox/charting/Chart",...."dijit/Dialog","dojo/dom-construct"],
function (Chart) {
function showDailyChart(data){
//code to show the chart in a dialog
}
return customModules.singleChart;
});
我已将此文件保存为/customModules/singleChart.js
在我的主 HTML 页面中,我已将其添加到包中,如下所示:
var dojoConfig = { parseOnLoad: true,
packages: [....,{"name":"customModules",
"location":location.pathname.replace(/\/[^/]+$/, "")+"/modules" }
]};
我要调用它的函数是 AMD 之前的函数。所以我这样称呼它:
dojo.require("customModules.singleChart");
.
.
.
customModules.singleChart.showDailyChart(data);
我可以看到它/customModules/singleChart.js
已加载到 Firebug 控制台和 Net Tab 中。然而没有customModules.singleChart
对象。奇怪的是也没有错误。我已经在 Firebug 以及 Google Chrome 的开发者工具中对此进行了测试。
使用 调用 AMD 模块的正确方法是什么dojo.require
?还是有更好的方法来做我需要的事情?