Я смотрю на результаты моей настройки бранча/бабель и задаюсь вопросом, нельзя ли оптимизировать некоторые вещи. Вот brunch-config.js
, который я буду использовать в качестве поддержки для своих вопросов:
module.exports = {
files: {
javascripts: {
joinTo: {
'vendor.js': /^(?!app)/,
'app.js': /^app/
}
}
},
modules: {
autoRequire: {
'app.js': [ 'main.js' ] // my entry point
}
}
}
Во-первых, при использовании модуля (с использованием импорта/экспорта) включается все, даже если что-то не используется. Например, в качестве доказательства концепции мой main.js
включает только это:
import Vue from 'vue'
console.log('running')
Тогда мой vendor.js
содержит все содержимое пакета vue
. Я знаю, что в других упаковщиках есть возможность тряски дерева (с нуля это хорошо делает rollup). Я искал, но не смог найти плагины в бранче для этого.
Мое второе замечание касается сгенерированного кода. Я не уверен, происходит ли это от позднего завтрака или от вавилона. И vendor.js
, и app.js
содержат один и тот же код инструментов для включения модулей commonjs (также известных как require). Разве этот код не может быть включен только в один пакет (скажем, поставщика)?
entryPoints
вместоjoinTo
. Взгляните на мой ответ на аналогичный вопрос: и javascript приложения"> stackoverflow.com/questions/43726576/ - person Johannes Filter   schedule 11.06.2017