commonsChunkPlugin没有对node_modules进行分组

时间:2017-08-09 19:49:02

标签: webpack commonschunkplugin

我想将我的捆绑包的所有常见块移动到vendor.[chunkhash].js文件。但是在检查输出之后,我看到一些node_modules被包含在内,然后一次对输出大小产生很大的影响。

Webpack commonsChunkPlugin

new webpack.optimize.CommonsChunkPlugin({
    name: "vendor",
    filename: "vendor.[chunkhash].js",
    minChunks(module, count) {
        const context = module.context;
        return context && context.indexOf("node_modules") >= 0;
    }
}),

输出 enter image description here

我这样做错了吗?请注意,'wizer-components'是需要构建的组件,但是已经放在一个单独的文件夹中,因为我在其他项目中使用它们。运行开发服务器工作正常,所有组件都正常工作。

1 个答案:

答案 0 :(得分:0)

我通过在webpack配置中添加以下参数来解决这个问题。这基本上告诉webpack首先查看我的js文件夹,然后是全局node_modules,然后是本地node_modules

因为这个webpack总是会在全局react中找到node_modules,只允许它捆绑一次。

resolve: {
    modules: ["js", path.join(__dirname, "node_modules"), "node_modules"]
},