【发布时间】:2015-09-19 02:36:24
【问题描述】:
给定以下目录结构:
my-project
|
|-- node_modules
|
|-- react
|-- module-x
|
|--node_modules
|
|--react
您可以看到 my-project 和 module-x 都需要 React。我遇到了与this question 中描述的相同的问题,但建议是从 package.json 依赖项中删除 react。我这样做了,只要 module-x 中没有安装 node_modules,它就可以正常工作,因为 Webpack 将使用 my-project 中的 React。但是如果我正在开发 module-x 并且安装了 node_modules,那么 Webpack 会使用 my-project 和 module-x 中的 React强>。
有没有一种方法可以让 Webpack 确保只使用一个 React 实例,即使它需要在两个不同的级别上使用?
我知道我可以在开发时将 module-x 保存在单独的目录中,但似乎我必须发布它然后将其安装在 my-project 来测试它,这不是很有效。我考虑过npm link,但没有运气,因为它仍然在 module-x 中安装了 node_modules。
This here 听起来很像我面临的挑战,但似乎npm dedupe 或 Webpack 的重复数据删除选项不起作用。我可能没有理解一些重要的细节。
【问题讨论】: