Skip to content

Add possibility to load external modules

the-very requested to merge github/fork/zt-sv/master into master

Created by: zt-sv

Для своего проекта была необходимость подгружать модули из вне, если они существуют. Внешней утилитой создается JSON соответствия имени модуля файлу в котором он находится. Сделал две внешние функции findDep и loadModule. Первая ищет модуль, вторая загружает модуль если он в принципе существует.

Пример загрузки внешних модулей при помощи загрузчика LAB.js.

var modulesDep = {"cart/cartItemView":"cart.js","mainMenu":"mainMenu.js","mainMenu/mainMenuView":"mainMenu.js"};

modules.setOptions({
    findDep: function( dep ) {
        return modulesDep.hasOwnProperty(dep);
    },

    loadModule: function( moduleName, callback ) {
        var
            filename = modulesDep[moduleName];
        // end of vars

        console.log('loading module', filename);

        $LAB.script( filename ).wait(callback);
    };
});

Merge request reports