【发布时间】:2014-10-23 15:16:02
【问题描述】:
我尝试使用 dojo 加载非 AMD 库,我选择了一个单独的文件夹作为新的(伪)AMD 包,并将该库的文件与 main.js 文件一起放在该文件夹中,当请求包时,它将由 dojo 加载程序按约定加载。在这个 main.js 文件中,我只是将我的库文件的名称放在了 define() 调用的依赖项列表中。
define([
"jquery",
"./lib/jquery-ui/jquery-ui.min",
"./the.actual.library.that.uses.the.others",
], function () {
return window.someGlobalSetByTheLibrary;
});
问题在于:加载依赖关系的顺序取决于网络延迟,不能保证它们在define()中出现的顺序。
这会导致(有时)错误,因为实际的库文件需要首先加载它自己的依赖项。
【问题讨论】:
标签: javascript dojo amd legacy-code