2012-01-08 3 views
3

У меня много модулей. Один модуль загружает другой модуль, который загружает другой модуль. Etc ...При использовании Requirejs возможно ли, что оптимизатор автоматически найдет все зависимости?

И, конечно, при загрузке страницы все эти модули загружаются. Он работает отлично. Без оптимизатора. (хотя это занимает минуту, потому что браузер должен загрузить 50 вещей).

Когда я использую оптимизатор ... в своем app.build.js, кажется, что мне нужно вручную указать каждый модуль! ??

Почему автоматический оптимизатор не проходит через модули?

ответ

4

Вам нужно указать только модуль, который вы хотите оптимизировать, а не его зависимости. Из документов:

В массиве модулей, указать имена модулей, которые вы хотите оптимизируют, в примере, «главный». «main» будет сопоставлен с appdirectory/scripts/main.js в вашем проекте. Система сборки будет , затем отслеживает зависимости для main.js и вводит их в файл appdirectory-build/scripts/main.js .

({ 
    appDir: "../", 
    baseUrl: "scripts", 
    dir: "../../appdirectory-build", 
    modules: [ 
     { 
      name: "main" 
     } 
    ] 
}) 
+0

Когда я это сделаю, оптимизатор создаст «main.js» со всем, что сведено к минимуму, и разместит там только основные зависимости. Он не будет проходить к app.js, а затем к router.js, а затем к другим модулям .... – user847495

+0

Я хочу, чтобы оптимизатор проходил через модули, а затем включал ИХ зависимости в main.js, как многоуровневые дерево. Main.js должен иметь КАЖДЫЙ модуль внутри. – user847495

+0

Кроме того, я помещаю эти параметры в свой app.build.js: optimizeAllPluginResources: true, findNestedDependencies: true, Но они, похоже, не имеют никакого эффекта – user847495

3

решаемая.

У меня были неправильные пути (я не понимал baseURL и т. Д.). Вот почему что-то сломалось посередине.