防止Web包捆绑反应

时间:2016-07-25 12:58:13

标签: reactjs webpack

如何阻止webpack捆绑反应? 目前我正在编写一个库,在分发后会导致You've loaded two copies of React on the page.错误。我怀疑webpack开始捆绑所有依赖项,包括devDependencies。

有什么方法吗?

在我的情况下,库应该可以从节点模块中获取React。

所以我基本上想要的是,而不是解决require('React)的webpack,它应该保持require('React)不变。

2 个答案:

答案 0 :(得分:2)

您可以使用webpack externals

 externals: {
        // Use external version of React
        "react": "React"
 }
externals.生成的代码

UPD Detailed docs

使webpack"离开require(' React)不受影响"你需要以下配置

{
  output: { libraryTarget: 'commonjs' },
  externals: { react: true }
  ...
}

答案 1 :(得分:1)

Moelalez,就像Yury Tarabanko所述,externals选项允许您将现有API导入应用程序。对于上下文,假设您希望通过单独的标记从CDN使用React并仍然通过您的应用程序中的require(“react”)将其声明为依赖项,您可以使用externals选项来指定它。