После обновления до webpack4 мой общий размер пакета увеличился примерно до 1 МБ (проанализировано) - PullRequest
0 голосов
/ 08 января 2019

Я использовал webpack3 и у меня есть файл конфигурации, например

new webpack.optimize.CommonsChunkPlugin({
  name: 'vendor',
  minChunks (module) {
    // any required modules inside node_modules are extracted to vendor
    return (
      module.resource &&
      /\.js$/.test(module.resource) &&
      module.resource.indexOf(
        path.join(__dirname, '../node_modules')
      ) === 0
    )
  }
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
  name: 'manifest',
  minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
  name: 'app',
  async: 'vendor-async',
  children: true,
  minChunks: 3
}),

После обновления до webpack4 я настраиваю эквивалент выше, как

namedChunks: true,
runtimeChunk: "single", // enable "runtime" chunk
splitChunks: {
    cacheGroups: {
        vendors: {
            test: /[\\/]node_modules[\\/]/,
            chunks: 'initial',
            priority: -10,
            name: 'vendors',
        },
        'async-vendors': {
            test: /[\\/]node_modules[\\/]/,
            minChunks: 2,
            chunks: 'async',
            priority: 0,
            name: 'async-vendors'
        }
    }
}

, но с использованием конфигов webpack4 и выше, общий размер пакета всех кусков увеличен примерно до 1 МБ, похоже, что неиспользованный материал также входит в комплект!

...