У меня есть функция в ModuleA, которые должны выполняться до загрузки moduleB. ModuleA не зависит от какого-либо другого модуля, а модуль B имеет некоторые зависимости (например, moduleC). Следующий код делает это и хорошо работает, когда он не оптимизирован:RequireJS конфигурации
основные-config.js
require.config({
paths: {
moduleA: 'modules/moduleA',
moduleB: "modules/moduleB",
moduleC: "modules/moduleC",
}
});
require(['moduleA'], function (moduleA) {
moduleA.init(function() {
require(['moduleB'], function (moduleB) {
moduleB.start();
});
});
});
Однако при оптимизации его r.js, вещи становятся испортили. Выход оптимизатора r.js является:
Tracing dependencies for: ../scripts/main-config
Uglifying file: C:/.../scripts/main-config.js
C:/.../scripts/main-config.js
----------------
C:/.../scripts/libs/require/require.js
C:/.../scripts/modules/moduleA.js
C:/.../scripts/main-config.js
Это означает, что только 3 модуль - требует, ModuleA и главной-конфигурацию - являются обезображенным вместе 1 свернутого файл. Все зависимости модуля ModuleB (такие как moduleC) отсутствуют в выходном файле.
Изменение конфигурационного файла к следующему, будет включать в себя все зависимости moduleB в в выходном файле, но он не получит нужного результата, так как он разбирает moduleB, прежде чем функции инициализации ModuleA в:
require(['moduleA','moduleB'], function (moduleA, moduleB) {
moduleA.init(function() {
moduleB.start();
});
});
Я хочу moduleB который будет разбираться позже, только после функции initA модуля (модуль B содержит некоторые непосредственные функции).
Как я могу получить все дерево зависимостей, которые будут включены в файл результатов, но с моим необходимым поведением (разбор & выполнить модуль Б после функции завершения модуля А)? Спасибо.
' findNestedDependencies' выполнил эту работу. Благодаря! – Haji