在Javascript AMD中,定义没有名称的模块为什么有用?
作者:互联网
命名模块对我来说很有意义:
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 () {};
});
上面的代码是否用于定义匿名模块?如果是这样,其他模块如何使用/导入/引用该模块?有人对此有想法吗?
解决方法:
如果您在链接的页面上向下滚动一点,则会显示
Notice that the above module does not declare a name for itself. This is what makes the module very portable. It allows a developer to place the module in a different path to give it a different ID/name. The AMD loader will give the module an ID based on how it is referenced by other scripts.
因此,该模块实际上将根据您加载包含该模块的文件的方式来获得名称.
我想这个想法是,您使用“匿名”模块(每个文件一个)进行开发,然后使用一个构建工具将所有模块捆绑在一起(在过程中为其指定名称).
标签:module,requirejs,commonjs,amd,javascript 来源: https://codeday.me/bug/20191119/2039610.html