命名模块对我来说很有意义:
define('myModule', ['dep1', 'dep2'], function (dep1, dep2) {
//Define the module value by returning a value.
return function () {};
});
当我想使用此模块时,我可以使用require
导入它:
require('myModule', function(myModule){})
然而,我无法理解的是这样的匿名模块(来自requireJS examples):
define(['dep1', 'dep2'], function (dep1, dep2) {
//Define the module value by returning a value.
return function () {};
});
上面的代码用于定义匿名模块吗?如果是这样,该模块如何被其他模块使用/导入/引用?有没有人有这方面的想法?
答案 0 :(得分:3)
如果您在链接的页面上向下滚动一下,则表示
请注意,上述模块没有为自己声明名称。这就是使模块非常便携的原因。它允许开发人员将模块放在不同的路径中,为其提供不同的ID /名称。 AMD加载程序将根据其他脚本的引用方式为模块提供ID。
因此,模块实际上会根据您加载包含它的文件的方式获取一个名称。
我想这个想法是你使用“匿名”模块(每个文件一个)开发,然后有一个构建工具将它们全部捆绑(在过程中为它们命名)。