编程语言
首页 > 编程语言> > 在Javascript AMD中,定义没有名称的模块为什么有用?

在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