遷移到webpack4:從webpack.optimize.CommonsChunkPlugin到config.optimization.splitChunk

問題現象:webpack

 遷移到webpack4:使用webpack.optimize.CommonsChunkPlugin插件提取公共代碼時候,web

 報錯:webpack4 Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead;async

 

正確配置方案:優化

 

(1)在config,js  文件中    optimization與entry/plugins同級spa

  optimization: {
    splitChunks: {
    cacheGroups: {
        commons: {
        name: "commons",
        chunks: "initial",
        minChunks: 2
             }
           }
          }
        },
(2)解釋說明: 插件

能夠本身設置一組一組的cacheGroup來配對應的共享模塊webpack4

commons裏面的name就是生成的共享模塊bundle的名字

chunks 有三個可選值,」initial」, 「async」 和 「all」. 分別對應優化時只選擇初始的chunks,所須要的chunks 仍是全部chunks 。
rem


minChunks 是split前,有共享模塊的chunks的最小數目 ,默認值是1, 但我看示例裏的代碼在default裏把它重寫成2了,從常理上講,minChunks = 2 應該是一個比較合理的選擇
it

相關文章
相關標籤/搜索