0

举个简单的例子如下:

require(["dojo/_base/ready", "dojo/_base/declare"], function(ready, declare) {
}

如何解释ready并声明dojo core?班级名称?在另一个我经常看到的例子中:

require(["js/somemodule.js"], function(someName) {
});

很多时候我看到 someName 与 somemodule 不同(准备好,声​​明至少与模块名称相同),也不是我在 somemodule.js 或其基础中找到的任何标识符。怎么了?我猜想什么时候应该在某个地方声明 require 函数中的参数并保存一个值。

4

1 回答 1

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 信息页面

于 2013-09-25T11:07:06.853 回答