因此,我一直在狩猎,除非最近我的搜索能力越来越差,否则我似乎找不到任何东西。但是,我要寻找的是能够基于入口点生成两个供应商捆绑包。
例如,我有3个入口点:
用户登录后,它将包含auth,public和editor捆绑软件的变体。用户注销后,只会加载公共捆绑包。这两种情况都将加载供应商捆绑包,但是当我们注销时,我不需要加载编辑器和auth中所需的模块,因此希望有一种方法可以将其拆分为vendor和vendor.auth。或类似的内容。
我目前唯一的优化代码如下:
optimization: {
concatenateModules: true,
splitChunks : {
cacheGroups: {
commons: {
test : /[\\/]node_modules[\\/]/,
name : 'vendors',
minChunks: 2,
chunks : 'all'
}
}
}
},
这里的任何帮助将不胜感激!
谢谢
答案 0 :(得分:3)
您可以使用chunks
property函数将大块分成2个普通组。
optimization: {
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors',
chunks: function (chunk) {
return chunk.name == 'public';
}
},
auth_commons: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors.auth',
chunks: function (chunk) {
return ['auth', 'editor'].includes(chunk.name);
}
}
}
}
},