0

我想将我的捆绑包的所有常见块移动到一个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;
    }
}),

输出 在此处输入图像描述

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

4

1 回答 1

0

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

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

resolve: {
    modules: ["js", path.join(__dirname, "node_modules"), "node_modules"]
},
于 2018-03-19T21:18:13.277 回答