lmd
lmd copied to clipboard
bundle modules load
Добрый день ! В коде lmd:
var processBundleJSONP = function (_main, _modules, _modules_options) {
if (typeof _main === "object") {
_modules_options = _modules;
_modules = _main;
}
for (var moduleName in _modules) {
// if already initialized - skip
if (moduleName in sb.modules) { <<<<<<<<<<<<<<<<<<<
continue;
}
предлагается
if (moduleName in sb.modules)
заменить на
if (moduleName in sb.modules && sb.modules[moduleName])
дело в том, что если предварительно вызвать require(modName), которого еще не существует (бандл не загружен), то в sb.modules будет зарегистрировано: sb.modules = undefined и загрузка бандла (с этим модулем) не приведет к загрузке модуля, так как
if (moduleName in sb.modules) { <<<<<<<<<<<<<<<<<<<
continue;
}
его инициализацию пропустит
ну или в require() не добавлять в modules пустышки
Спасибо !
+1