为了加载时间,我对预定义所有AMD模块依赖关系感兴趣。这是因为目前,在require.js可以解决其依赖关系之前,必须加载模块文件。这是一个说明我的意思的插图:
有没有办法用require.js做到这一点?我知道你可以为shimmed模块定义依赖关系,但是你可以为你自己的自定义AMD模块做这个吗?
答案 0 :(得分:1)
您正在寻找可以放入您传递给RequireJS的配置的东西,它可以满足您的需求。调用shim
的模块与define
没有类似之处。但是,您可以做的是将deps
选项添加到您的配置中:
deps: ['module', 'dep1', 'dep2', 'dep3']
这将告诉RequireJS立即开始加载您的模块和依赖项。您必须自己维护此列表,但shim
也是如此。
否则,您可以执行kryger在comment中建议的内容:使用r.js
将module
构建到包含它及其所有依赖项的单个捆绑包中。每当加载module
时,它的所有依赖项都会同时加载。这比使用deps
更有效,但如果您需要自己加载任何依赖项,可能会使稍微更复杂。您必须使用运行时选项bundles
来告诉RequireJS这些模块的位置。就像deps
一样,你必须自己维护这份清单。