lmd icon indicating copy to clipboard operation
lmd copied to clipboard

bundle modules load

Open entcor opened this issue 10 years ago • 1 comments

Добрый день ! В коде 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 пустышки

Спасибо !

entcor avatar Nov 03 '14 17:11 entcor

+1

kirill-zhirnov avatar Apr 09 '15 07:04 kirill-zhirnov