如何通过webpack拆分node_modules?

时间:2019-09-05 06:28:28

标签: webpack webpack-splitchunks

我想将node_modules分成三个块。

这是我的webpack配置:

{
        entry: {
            'index1': './src/index1.jsx',
            'index2': './src/index2.jsx'
        },
        optimization: {
            splitChunks: {
                chunks: 'all',
                cacheGroups: {
                    default: {
                        name: 'default.min',
                        test: /[\\/]node_modules[\\/]/,
                        priority: 0,
                        chunks: 'all'
                    },
                    module1: {
                        name: 'module1.min',
                        test: /[\\/]node_modules[\\/]module1[\\/]/,
                        priority: 10,
                        chunks: 'all'
                    },
                    module2: {
                        name: 'module2.min',
                        test: /[\\/]node_modules[\\/]module2[\\/]/,
                        priority: 10,
                        chunks: 'all'
                    }
                }
            }
        },
}

我希望得到五个文件: index1.min.js,index2.min.js和default.min.js包含不包含module1的node_modules,而module2,module1.min.js仅包含node_modules / module1,module2.min.js仅包含node_modules / module2

结果是,除module1和module2之外的所有模块都存在于index1.min.js和index2.min.js中。

但是,如果我删除模块块,例如:

{
        default: {
                name: 'default.min',
                test: /[\\/]node_modules[\\/]/,
                priority: 0,
                chunks: 'all'
        },
        module1: {
                name: 'module1.min',
                test: /[\\/]node_modules[\\/]module1[\\/]/,
                priority: 10,
                chunks: 'all'
        }
}

我可以得到Corret块。

那么,我的webpack配置有什么问题?

0 个答案:

没有答案