【问题标题】:load modules using module name and not the file name使用模块名而不是文件名加载模块
【发布时间】:2011-08-05 21:27:49
【问题描述】:

我在两个单独的 js 文件中有两个“定义”。

def1.js 和 def2.js

define("mydefname1",["file1",...]});

define("mydefname2",["file2",....]});

我有另一个 require 语句,用于检查两个定义是否已加载。

require(['def1','def2'], function(){alert('loaded')});

这很好用..

但如果我尝试

require(['mydefname1','mydefname2'], function(){alert('loaded')});, 

它不起作用。

有没有办法我可以实际使用 mydefname1 和 mydefname2.. 即加载它们的模块名称,而不是文件名?

【问题讨论】:

    标签: javascript requirejs require requirejs-define


    【解决方案1】:

    据我所知,这是不可能的。我通常做的是格式化我的文件名以包含我的模块名称,所以我可以这样包含它。

    对于元类名称 Overlay,文件名是 class.Overlay.js,我的 require/include 函数将获取我的模块名称并从中构建文件名。

    【讨论】:

      【解决方案2】:

      据我了解,RequireJS 建议您避免手动分配模块名称 - 请参阅此处:http://requirejs.org/docs/api.html#modulename

      FWIW,你玩过“路径”配置选项吗?我不认为你可以用它来做你想做的事,但它可能会提供一种可接受的替代方法。见这里:http://requirejs.org/docs/api.html#config

      希望对你有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-11
        • 2018-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-23
        • 1970-01-01
        相关资源
        最近更新 更多