我正在使用dojo来模块化我的应用程序。
有一个JSON配置文件,用于指定要在数组中加载哪些模块
我不确定如何将它应用于Dojo的require库,因为它是异步的,语法有点奇怪。
有没有办法批量生产?或者我必须为每个文件调用一个新的声明。
有没有办法在已加载的模块上强制执行订单?我真的需要这个订单得到尊重,或者至少要恢复并稍后订购
这是我开始使用的一个例子,但对我来说不合适(是的,我使用的是AMD版本):
也许有办法迫使它同步加载?但我猜这不会被推荐
files = ["fileone","filetwo","filethree"] //this would be loaded from a config file
files.forEach((item,i) => {
dojo.require(item, function(module){
console.log(module)
}
})
答案 0 :(得分:1)
您可以执行以下操作(外部require
可以替换为模块中的define
):
require([
"require"
/*, "dojo/text!path/to/config.json" */
], function(require /*,config*/){
var files = ["dojo/dom", "dojo/_base/declare"]; //replace this with array from config
//(propably needs JSON.parse(config))
require(files, function(){
console.log("All in one require");
console.log(arguments);
});
files.forEach(function(file, i){
require([file], function(module){
console.log("ForEach: module nr " + i);
console.log(module);
});
});
});

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
&#13;