采用以下简单示例:
require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {
}
如何解释准备并声明dojo核心?班级名称? 在另一个例子中,我经常看到:
require(["js/somemodule.js"], function(someName) {
});
我多次看到someName与somemodule不同(ready,declare至少与模块名称相同),也不是我在somemodule.js或其基础中找到的任何标识符。怎么了?我猜当require函数中的参数应该在某些地方声明并保持一个值。
答案 0 :(得分:4)
变量名someName
是您自己选择的。它实际上是引用模块的变量。这意味着someName
指的是模块js/somemodule.js
。
如果您想调用js/somemodule.js
的函数,请使用:
someName.myFunction();
通常人们会给它与模块(或类似的东西)相同的名称,因为它更容易记住。但情况并非总是如此,因为如果模块名称中有破折号,人们通常使用驼峰案例,例如:
require(["dojo/dom-construct"], function(domContruct) {
domConstruct.create(...);
});
但以下也是正确的(并且完全相同):
require(["dojo/dom-construct"], function(theAwesomeModule) {
theAwesomeModule.create(...);
});
不仅Dojo使用它,而且AMD加载器是JavaScript中的一般原则。例如,查看Require.js的AMD info page。