今天在对着webpack中文指南一点点敲demo,在代码分离这一节遇到了一个报错:
在webpack.config.js改了一下代码:
//optimization与entry/plugins同级
optimization: { splitChunks: { cacheGroups: { commons: { name: "commons", chunks: "initial", minChunks: 2 } } } },
稍微解释一下含义
- cacheGroups is an object where keys are the cache group names. All options from the ones listed above are possible: chunks, minSize, minChunks, maxAsyncRequests, maxInitialRequests, name. 可以自己设置一组一组的cache group来配对应的共享模块
- commons里面的name就是生成的共享模块bundle的名字
- With the chunks option the selected chunks can be configured.
chunks 有三个可选值,”initial”, “async” 和 “all”. 分别对应优化时只选择初始的chunks,所需要的chunks 还是所有chunks 。 - minChunks 是split前,有共享模块的chunks的最小数目 ,默认值是1, 但我看示例里的代码在default里把它重写成2了,从常理上讲,minChunks = 2 应该是一个比较合理的选择吧。