我知道建议不要使用它们,但我们只是为了好玩,我想使用带有自定义名称的模块。我怎么加载它?
我有以下结构:
-- ./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"
}
})
但是我不明白为什么如果他必须在路径中再次重新声明自定义名称,他们能够定义自定义名称...
答案 0 :(得分:1)
我认为您需要在配置(app.js)中将其定义为&#39;路径&#39;的属性。对象:
require.config({
paths: {
dummy: 'libs/whatever'
}
});
修改
一些注意事项:
在test.js中,如果您不需要其他模块,我认为您不需要添加空数组。
在app.js中,你没有添加&#34; dummy&#34;作为函数参数。
我怀疑requirejs希望你从模块定义中定义一个返回值。
AMD =异步模块定义
我认为没有理由使用&#39;定义&#39;并且要求&#39;方法,如果您不使用这些模块进行异步依赖关系管理,而不是执行脚本。