RequireJS订单插件和Dojo 1.7.1

Joh*_*son 5 javascript dojo requirejs js-amd

我正在使用AMD和RequireJS将项目从Dojo 1.6.1升级到带有新AMD加载器的Dojo 1.7.1.我必须处理旧的JavaScript文件,而不是作为AMD模块编写,并且必须以正确的顺序加载它们.

在我使用RequireJS订单插件之前,它似乎不适用于Dojo AMD Loader.我在loader文档或Dojo Build System文档中找不到任何相关内容.

有什么想法吗?如果没有订单插件,我应该如何与Dojo 1.7一起处理纯JavaScript文件?我是否需要单独处理它们,或者在加载器或构建系统中是否有这方面的功能?

adm*_*taz 4

我自己刚刚了解这一点,但我找到的文档引用了通用脚本注入

按照文档中的描述加载通用脚本,同时指定 {async: 0} 作为 require() 的配置选项。据我了解,这确实按照您在第二个参数中指定的顺序加载脚本(包含脚本文件名/路径的数组)

我的例子:

require({async:0},['test1.js','test2.js','test3.js'],function(){
    //do stuff with reference to loaded scripts

});
Run Code Online (Sandbox Code Playgroud)

我的本地测试显示,如果我将配置更改为 {async: 1},脚本将以与我指定的顺序不同的顺序加载。到目前为止,我还没有在 dojo 加载器代码中找到这一点,但它似乎是有意义的,并且有效,并且不是一个 hack。