webpack4 splitChunks提取问题

我搭建的是一个单页应用
想用webpack4下的splitChunks功能想将node_modules引用的模块比如
vue之类的提取放到一个js文件下
但是怎么提都提不出来
一点反应都没有,
这是怎么回事?

optimization: {
        splitChunks: {
            chunks: 'initial', //默认只作用于异步模块,为`all`时对所有模块生效,`initial`对同步模块有效
            minSize: 30000, //合并前模块文件的体积
            minChunks: 1, //最少被引用次数
            maxAsyncRequests: 5,
            maxInitialRequests: 3,
            automaticNameDelimiter: '~',
            cacheGroups: {
                vendors: {
                     test: /node_modules/,
                     minChunks: 1,
                     priority: -10
                },
                default: {
                     test: /src/,
                     minChunks: 2,
                     priority: -20,
                     reuseExistingChunk: true
                }
            }
        }
    },
阅读 4.8k
3 个回答

找到问题的原因了,是加了下面这个东西
导致和splitChunks有冲突

new webpack.optimize.MinChunkSizePlugin({minChunkSize: 30000}),
splitChunks: {
      cacheGroups: {
        manifest: {
          name: "manifest",
          chunks: "initial",
          minChunks: 2
        },
       
        vendor: {
          chunks: "all",
          test: /[\\/]node_modules[\\/]/,
          name: "vendor",
          minChunks: 1,
          maxInitialRequests: 5,
          minSize: 0,
          priority: 98
        }
      }
    }
  },
 optimization: {
    runtimeChunk: {
      name: 'manifest'
    },
    splitChunks: {
      maxInitialRequests: 10,
      cacheGroups: {        
        vendor: {
          test: /(babel|jquery|fastclick|vue.esm.js)/,
          name: 'vendor',
          chunks: 'all'
        }        
      }
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题