给定以下目录结构:
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保持在单独的目录中,但这似乎意味着我必须发布它,然后在my-project中安装它进行测试,这并不高效。我想过
npm link
,但由于它仍然在module-x中安装了node_modules,所以没有成功。这里提到的听起来很像我正在遇到的相同挑战,但似乎
npm dedupe
或Webpack的dedupe选项不起作用。我可能没有理解一些重要的细节。