使用Dojo要求模块数组按顺序排列的正确方法

7ivaypg9  于 2022-12-20  发布在  Dojo
关注(0)|答案(1)|浏览(174)

我正在使用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)
    }
})
flseospp

flseospp1#

你可以这样做(外部的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>

相关问题