在RequireJS配置中预定义AMD模块依赖项

时间:2014-11-18 10:43:38

标签: javascript requirejs amd

为了加载时间,我对预定义所有AMD模块依赖关系感兴趣。这是因为目前,在require.js可以解决其依赖关系之前,必须加载模块文件。这是一个说明我的意思的插图: enter image description here

有没有办法用require.js做到这一点?我知道你可以为shimmed模块定义依赖关系,但是你可以为你自己的自定义AMD模块做这个吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找可以放入您传递给RequireJS的配置的东西,它可以满足您的需求。调用shim的模块与define没有类似之处。但是,您可以做的是将deps选项添加到您的配置中:

deps: ['module', 'dep1', 'dep2', 'dep3']

这将告诉RequireJS立即开始加载您的模块和依赖项。您必须自己维护此列表,但shim也是如此。

否则,您可以执行kryger在comment中建议的内容:使用r.jsmodule构建到包含它及其所有依赖项的单个捆绑包中。每当加载module时,它的所有依赖项都会同时加载。这比使用deps更有效,但如果您需要自己加载任何依赖项,可能会使稍微更复杂。您必须使用运行时选项bundles来告诉RequireJS这些模块的位置。就像deps一样,你必须自己维护这份清单。