如何在RequireJS中加载自定义命名模块

时间:2014-07-28 13:04:30

标签: javascript requirejs

我知道建议不要使用它们,但我们只是为了好玩,我想使用带有自定义名称的模块。我怎么加载它?

我有以下结构:

-- ./index.html
-- ./js/app.js
-- ./js/test.js

在HTML中,我正在加载RequireJS(2.1.14)

<script src="js/require.js" data-main="js/app" type="text/javascript"></script>

app.js

require(["dummy"], function(){
    window.console.log("ready");  
})

test.js

define("dummy", [], function(){
    window.console.log("dummy loaded");
})

但RequireJS正在尝试加载dummy.js。我在这里缺少什么?

更新 我知道我可以使用require.config加载文件

require.config({
    paths: {
        "dummy" : "test"
    }
})

但是我不明白为什么如果他必须在路径中再次重新声明自定义名称,他们能够定义自定义名称...

1 个答案:

答案 0 :(得分:1)

我认为您需要在配置(app.js)中将其定义为&#39;路径&#39;的属性。对象:

require.config({
    paths: {
        dummy: 'libs/whatever'
    }
});  

修改

一些注意事项:

在test.js中,如果您不需要其他模块,我认为您不需要添加空数组。
在app.js中,你没有添加&#34; dummy&#34;作为函数参数。

我怀疑requirejs希望你从模块定义中定义一个返回值。

AMD =异步模块定义

我认为没有理由使用&#39;定义&#39;并且要求&#39;方法,如果您不使用这些模块进行异步依赖关系管理,而不是执行脚本。