Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   RequireJS дозагрузка модулей (https://javascript.ru/forum/library-toolkit-framework/45235-requirejs-dozagruzka-modulejj.html)

lgick 20.02.2014 03:05

RequireJS дозагрузка модулей
 
С сервера приходят адреса дополнительных компонентов для фабрики и их необходимо запустить в текущем контексте.

Без requireJS это можно реализовать с помощью глобальных переменных и созданного скрипта.

Как это сделать c requireJS?

Можно внутри модуля сделать так:
require(['Factory', 'require'], function (Factory, require) {

// ... тут какой-то код

  // добавляет зависимости
  function addDependence(name, path) {
    require([path], function (module) {
      Factory.add(name, module);
      console.log(Factory.ModuleX);  // вернет модуль     
    });

    console.log(Factory.ModuleX);  // вернет undefined
  }

console.log(Factory.ModuleX);  // вернет undefined
});


но данные не выйдут за пределы функции

как сделать загрузку модуля?

danik.js 20.02.2014 03:26

про асинхронный код никогда не слышал? Так вот - это он и есть. Дело не в пределах функции, а во временных пределах. Модули подгружаются не сразу ведь(требуется время на HTTP-запрос). А ты пытаешься получить доступ к ним (через Factory.ModuleX) сразу прям. ферштейн?

lgick 20.02.2014 03:30

danik.js,

ага, точно! спасибо!


Часовой пояс GMT +3, время: 02:34.