在RequireJS中,可以为给定模块明确配置路径。例如,您可以为模块foo
指定应加载模块bar
(应加载文件bar.js
):
require.config({
paths: {
"foo": "bar"
}
});
我如何做同样的事情,但对于所有模块?
我尝试使用星号,但它只会为模块*
创建一个映射:
require.config({
paths: {
"*": "bar"
}
});
答案 0 :(得分:1)
根据您的问题和评论
TypeScript编译器能够将多个外部模块编译到放置在单个输出文件中的命名AMD模块中。但是,要有效地使用这些模块,必须配置RequireJS,以便它知道在哪里找到它们。
可以应用解决方法。首先,除了所有模块的路径之外,我们不要在config
中定义任何模块路径。
require.config({
paths: {
"all": "path/to/all/modules"
},
deps: { "all" } // This to tell requireJS to load 'all' at initial state.
});
然后加载config
/ main
文件
<script data-main="scripts/main" src="scripts/require.js"></script>
从这个requireJS将只读取define()
中的所有modules.js
块。它将注册您在js文件中获得的所有模块名称。例如,如果define('myModule', [function(){...}]);
中有module.js
。您可以直接调用在任何地方加载它而无需为其定义路径。
例如代码中的某些位置。
requirejs(['myModule', function(myModule){
myModule.doSemething();
});
(注意:是的,这个答案不是试图解决问题的原始点。但只是尝试解决最初的问题。如果有人发现这个答案没用,请随意投票) < / p>