Есть ли способ определить модуль, который "динамически" загружает другие модули в 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
}
// ...
});