缓存组中的Webpack复制模块

时间:2019-10-29 20:31:24

标签: webpack webpack-4 webpack-splitchunks

我有一个带有几个入口点的应用程序,并且入口点之间有很多异花授粉,所以我正在通过以下优化来专门针对主要违规者:

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软件包没有捆绑矩或矩时区,并且它和主应用程序使用相同版本的矩和矩时区。我该怎么做才能停止复制?

0 个答案:

没有答案