0

webpack 会删除已经与 webpack 捆绑的包吗?

例如, | Webpack bundle 1 | |------------------| | react@15.5 | | jquery@3.0 |

| Webpack app bundle | |--------------------| | react@15.5 | | jquery@3.1 | | Webpack bundle 1 |

Webpack 应用程序包会包含 2 个 react@15.5 副本吗?Webpack 应用程序包会包含 2 个 jquery 副本吗?

4

1 回答 1

0

这一切都归功于你给 webpack 的配置。如果您有两个不相互通信的入口点并且都导入 jquery 并做出反应,那么答案是肯定的,您将在两个包中都有这些库。虽然,您可以使用CommonsChunkPlugin. 这是一个如何将供应商模块放在一个单独的块中的示例,该块将由两个入口点使用:

new webpack.optimize.CommonsChunkPlugin({
    name: "vendor",
    minChunks: function (module) {
    return module.context && module.context.indexOf("node_modules") !== -1;
  }
})

这样,node_modules 中的所有模块都将在一个名为 vendor 的包中导出。

于 2017-05-15T14:09:39.210 回答