如何阻止webpack捆绑反应?
目前我正在编写一个库,在分发后会导致You've loaded two copies of React on the page.
错误。我怀疑webpack开始捆绑所有依赖项,包括devDependencies。
有什么方法吗?
在我的情况下,库应该可以从节点模块中获取React。
所以我基本上想要的是,而不是解决require('React)
的webpack,它应该保持require('React)
不变。
答案 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
选项来指定它。