Вопрос

У меня есть код, как следующее

define("ModuleA", ["InitialDependency"], function (initDep){
   return {};
});


define("ModuleB", ["ModuleA", "OtherDependency"], function (moduleA, otherDep){
   return {};
});
.

Каждая из этих модулей определяется в отдельных файлах «Modulea.js», «Moduleb.js», «INatealDependency.js» и «internationdependency.js».

Эти модули загружаются последовательно в моем приложении. Moduleb всегда загружен после модулей. Это означает, что на этапе оптимизации я не хочу, чтобы скрипт модулей в сочетании в встроенном скрипте для Moduleb. Я хочу следующее

modulea.built.js включает в себя

    .
  • инициалДестеренность
  • модулью

    moduleb.built.js включает в себя

      .
    • другое подросткость
    • moduleb

      Я не хочу, чтобы они все в одном файле, однако, как Moduleb никогда не будет загружен.

      Я могу сделать сценарий сборки для обоих модулей, но это будет много времени, поскольку у меня есть несколько модулей в моем проекте, и хотелось бы скрипт сборки, который будет создавать их сразу.

      Что мне нужно знать, чтобы создать сценарий сборки для построения этих модулей (и больше, которые следуют той же структуре зависимости)?

Это было полезно?

Решение

Чтобы добиться этого, вам придется играть с опцией конфигурации modules.

Это может выглядеть так:

{
    modules: [
        {
            name: "ModuleA",
            include: [],
            exclude: []
        },
        {
            name: "ModuleB",
            exclude: [
                "moduleA"
            ]
        }
    ]
}
.

Есть аналогичный пример настройки James здесь: https://github.com/requirejs/example-multipage

Конечно, создавая эти модули отдельно, вы можете в конечном итоге, нуждаетесь в обновлении путей. Если это так, лучший путь, то было бы создать файл, содержащий вызов require.config со специальными настройками для вашего встроенного приложения и включая эту конфигурацию вместо вашего обычного. Но если вы устанавливаете зависимости в хорошем смысле, то вы, вероятно, будут в порядке. «Хорошо разлучен», я имею в виду, что если moduleA является базовым скриптом, то у него не должно быть зависимостей, упакованных с GeneracodicTagcode - но я думаю, что это здравый смысл!

Примечание о смежных модулях : в виде промежуточного конфина работа только для работы файлы Whing загружаются и R.js на заказ плагинов, убедитесь, что вы не включаете модуль Shim без его зависимости, если вы Не на 100% уверен, что они будут загружены ранее. Больше информации здесь: https://github.com/requirejs/example-multipage-shim

Надеюсь, эта помощь!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top