Конфигурация Webpack 4+ - PullRequest
0 голосов
/ 14 мая 2018

Попытка создать перевод commonsChunkPlugin, предложенный в руководстве по миграции.

Я получил это из блока, сгенерированного vue-cli:

plugins: [ 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
})

...

И я перевел на это (что не работает):

optimization: {
 splitChunks: {
   cacheGroups: {
     vendor: {
          name: 'vendor',
          test: path.resolve(__dirname, "node_modules"),
          enforce: true,
          chunks: "initial"
     },
     manifest: {
          chunks: "initial",
          minChunks: Infinity,
          name: "manifest",
          enforce: true
     },
     app: {
          chunks: "initial",
          name: 'app',
          minChunks: 3
     }
   }
 }

}

Но я не знаю, как это отладить.

РЕДАКТИРОВАТЬ:по запросу из комментариев я выкинул все в следующую публичную gist .Это оригинальная конфигурация webpack для webpack 3, которая генерируется vue-cli.Я пытаюсь перейти на webpack 4, но это влияет на конфигурацию, например: commonsChunkPlugin не существует, среди других изменений.

...