我有一个带有几个入口点的应用程序,并且入口点之间有很多异花授粉,所以我正在通过以下优化来专门针对主要违规者:
optimization: {
minimize: true,
splitChunks: {
chunks: 'all',
maxInitialRequests: Infinity,
minSize: 0,
cacheGroups: {
moment: {
test: /[\\/]node_modules[\\/](moment|moment-timezone)[\\/]/,
name: 'moment-bundle',
priority: -5,
reuseExistingChunk: true,
enforce: true
},
ourUXComponentLibrary: {
test: /[\\/]node_modules[\\/]ourUXComponentLibrary[\\/]/,
name: 'ourUXComponentLibrary',
priority: -10
},
vendors: {
test: /[\\/]node_modules[\\/]/,
priority: -20,
enforce: true
}
}
}
通常来说,它是可行的,但有一点需要注意。主应用程序和ourUXComponentLibrary
都使用矩(因此我将它们拆分出来),但不是一次将矩和矩时区捆绑在一起,而是如此复制它们:
(rough idea from webpack-bundle-analyzer)
moment-bundle
-node_modules
--moment
--moment-timezone
--ourUXComponentLibrary
---node_modules
----moment
----moment-timezone
--another-node-module-using-moment
---moment
我已经确认ourUXComponentLibrary
软件包没有捆绑矩或矩时区,并且它和主应用程序使用相同版本的矩和矩时区。我该怎么做才能停止复制?