我继承了一些带有 AMD 模块的代码,如下所示:
define('shared/modulename', {
load: function(name, parentRequire, callback, config) {...}
})
这与此处记录的依赖关系数组的正常 AMD 语法不同。代码没有注释,也没有解释为什么这个模块需要改变语法。
这个 define() 的调用实际上做了什么?
查看为 load() 函数提供的参数,它们似乎是 AMD 内部的。
我继承了一些带有 AMD 模块的代码,如下所示:
define('shared/modulename', {
load: function(name, parentRequire, callback, config) {...}
})
这与此处记录的依赖关系数组的正常 AMD 语法不同。代码没有注释,也没有解释为什么这个模块需要改变语法。
这个 define() 的调用实际上做了什么?
查看为 load() 函数提供的参数,它们似乎是 AMD 内部的。
这是定义 AMD 模块的简单形式之一。http://requirejs.org/docs/api.html#define
在 RequireJS 中,您可以以这种简单的格式定义名称-值对:
define({foo: 'yay'})
您也可以在定义中指定模块名称,这是您在组合模块时需要的。所以这使我们的例子:
define('aloha', {foo: 'yay'})
现在回到你的代码。意思很浅薄。它定义了一个名为shared/modulename
. 该exports
模块的 是一个对象,其中包含一个名为 的方法load
。
你可以像这样使用这个模块:
require('shared/modulename').load(name, parentRequire, callback, config)