我正在使用 webpack 3 并想将我的项目迁移到 webpack 4。现在我正在使用。optimization.splitChunks
但出现错误
这是我的代码:
module.exports = function () {
return {
entry: {
admin_app: exposePath('AdminApp', 'Components'),
user_app: exposePath('UserApp', 'Components')
},
output: {
path: paths.CLIENT_BUILD_PATH,
filename: '[name].client.bundle.js',
sourceMapFilename: 'maps/[name].client.map.js',
chunkFilename: "chunks/[name].client.chunk.js"
},
/*plugins: [ // plugins from webpack 3
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module) {
return module.context && module.context.indexOf('node_modules') !== -1;
}
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
minChunks: Infinity
})
]
*/
optimization: { // so the code will be written on top (Webpack 4)
splitChunks: {
cacheGroups: {
vendor: {
name: 'vendor',
test(module) {
return module.context && module.context.indexOf('node_modules') !== -1;
}
},
manifest: {
name: 'manifest',
minChunks: Infinity
}
}
}
}
};
};
webpack
团队将所有优化移至optimization
. 该属性splitChunks
设置用于查找多个模块使用的模块的配置,将此模块分块到单独的文件中以减少重复:webpack
允许您shared
使用optimization.splitChunks.cacheGroups
. 分块也默认在生产模式下完成。