grunt-contrib-requirejs не решает мою инъекцию модуля времени выполнения

У меня есть одна проблема. В моем проекте я использую инъекцию модуля времени выполнения. Когда я использую структуру require.js, все работает нормально. Но когда я пытаюсь создать прочный js-файл с помощью grunt-contrib-requirejs, он не находит мой инъекционный модуль.

часть моего кода, куда я ввожу модуль

_.each(collection.models, function (model) {
    require(['application/views/' + model.get("className")], function (view) {
       view();
    });
});

person serg    schedule 29.07.2014    source источник


Ответы (1)


http://requirejs.org/docs/1.0/docs/optimization.html

Оптимизатор будет комбинировать только те модули, которые указаны в массивах строковых литералов, которые передаются в вызовы require и define верхнего уровня, или вызовы строковых литералов require('name') в упрощенной оболочке CommonJS. Таким образом, он не найдет модули, загружаемые через имя переменной:

var mods = someCondition ? ['a', 'b'] : ['c', 'd'];
require(mods);`

Чтобы включить динамически загружаемые файлы, используйте параметр include в конфигурации задачи:

include: ['a.js', 'b.js', 'c.js']
person jgillich    schedule 29.07.2014
comment
К сожалению, я не знаю, какой модуль будет включен перед запуском задачи. Все модули описаны в моем конфигурационном файле. Все модули хранятся в одной папке в моем дереве проектов. Может быть, я могу включить всю папку? - person serg; 29.07.2014
comment
Я нашел способ. Но я не могу ответить на свой вопрос, потому что у меня нет спокойной репутации. Вот почему я разместил свое решение в github GIST gist.github.com/syul/2dec564929d91b63d1f4 - person serg; 29.07.2014