Webpack: излучаемые блоки не создают основную точку входа - PullRequest
0 голосов
/ 06 августа 2020

Я обновил webpack с версии 2 до версии 4. Моя конфигурация включает:

entry = {
    Main: './main',
    App: './app'
};

и

var output = {
    path: path.join(__dirname, outPath, '_js'),
    publicPath: '/_js/',
    filename: '[name]-bundle.js'
};

В версии 2 мой вывод был просто App-bundle.js и Main-bundle.js, но в webpack@4 вывод будет

Entrypoints:
  Main (414 KiB)
      Main~493df0b3-bundle.js
      Main~4c0201b9-bundle.js
  App (316 KiB)
      App~47dad47d-bundle.js
      App~6bd0612f-bundle.js
      App~01e7b97c-bundle.js

без центрального, нехешированного имени файла для импорта.

EDIT:

Мой объект optimization выглядит так:

optimization: {
    splitChunks: {
        chunks: 'async',
        minSize: 20000,
        maxSize: env === 'production' ? 1000000 : 0,
        minChunks: 1,
        maxAsyncRequests: 6,
        maxInitialRequests: 4,
        automaticNameDelimiter: '~',
        cacheGroups: {
          default: {
            minChunks: 1,
            priority: -20,
            reuseExistingChunk: true
          }
        }
    },
    minimize: env === 'production' ? true : false
},

--- ВОПРОС ---

У меня нормально есть фрагменты, но как мне настроить webpack 4, чтобы иметь центральный файл записи, называемый просто Main-bundle.js и App-bundle.js, который я могу легко импортировать в свои шаблоны HTML?

1 Ответ

1 голос
/ 06 августа 2020

Удалите minSize и maxSize в настройках splitChunks. Или, в качестве альтернативы, уменьшите minSize и поднимите maxSize.

minSize и maxSize очень удобны, когда вы хотите точно настроить свои фрагменты для повышения производительности или по другим причинам, которые учитывают размер фрагмента.

Лично я обнаружил, что наличие блоков размером 600 КБ для 10 блоков, которые загружаются как «исходные блоки», являются лучшей точной настройкой производительности в моем приложении. Без него я не смог бы достичь тех же результатов производительности, так как webpack создавал неравномерные и большие куски для некоторых моих точек входа.

...