有没有办法定义一个在 RequireJS 中“动态”加载其他模块的模块?如果是,优化器(r.js)如何理解必须包含模块的方式/时间?
例如,让dynModules
一个定义名称/路径对的模块:
define([], function () {
return ['moduleA', 'moduleB']; // Array of module names
});
另一个模块将根据数组动态加载模块。这不起作用:
define(['dyn_modules'], function (dynModules) {
for(name in dynModules) {
var module = require(path); // Call RequireJS require
}
// ...
});
... 给我:
未捕获的错误:尚未为上下文加载模块名称“moduleA”:_。使用 require([]) http://requirejs.org/docs/errors.html#notloaded
我可以解决错误,但它不再是“动态的”:
define(['dyn_modules', 'moduleA', 'moduleB'], function (dynModules) {
for(name in dynModules) {
var module = require(path); // Call RequireJS require
}
// ...
});