给定以下目录结构:
my-project
|
|-- node_modules
|
|-- react
|-- module-x
|
|--node_modules
|
|--react
你可以看到my-project和module-x都需要 React。我遇到了与此问题中描述的相同的问题,但建议从 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 保存在一个单独的目录中,但似乎我必须发布它然后将它安装到我的项目中来测试它,这不是很有效。我想过npm link
,但没有运气,因为它仍然在module-x 中安装了 node_modules 。
这听起来很像我遇到的相同挑战,但似乎npm dedupe
Webpack 的重复数据删除选项不起作用。我可能没有理解一些重要的细节。