Встряхивание деревьев и экстернализация помощников на позднем завтраке

Я смотрю на результаты моей настройки бранча/бабель и задаюсь вопросом, нельзя ли оптимизировать некоторые вещи. Вот 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). Разве этот код не может быть включен только в один пакет (скажем, поставщика)?


person Richard Gill    schedule 10.06.2017    source источник
comment
Насколько я понимаю, вы ищете entryPoints вместо joinTo. Взгляните на мой ответ на аналогичный вопрос: и javascript приложения"> stackoverflow.com/questions/43726576/   -  person Johannes Filter    schedule 11.06.2017
comment
Да, точки входа не показались мне ясными, как то, что вы сказали в комментариях к другому ответу. Я не понял, что спецификации пути могут быть указаны, и я думаю, что это сработает.   -  person Richard Gill    schedule 11.06.2017