Como evitar Reaja ao carregar duas vezes com o Webpack ao desenvolver
Dada a seguinte estrutura de diretórios:
my-project
|
|-- node_modules
|
|-- react
|-- module-x
|
|--node_modules
|
|--react
Você pode ver os doismeu projeto emodule-x requer React. Eu tenho o mesmo problema descrito emessa questão, mas a sugestão é remover o react das dependências package.json. Eu faço isso e funciona bem, desde que nenhum node_modules esteja instalado nomodule-x, porque o Webpack usará o React frommeu projeto. Mas se eu estou no processo de desenvolvermodule-x e o node_modules estiver instalado, o Webpack usa React de ambosmeu projeto emodule-x.
Existe uma maneira de eu ter o Webpack para garantir que apenas uma instância do React seja usada, mesmo que seja necessária em dois níveis separados?
Eu sei que eu poderia mantermodule-x em um diretório separado durante o desenvolvimento, mas parece que eu precisaria publicá-lo e instalá-lo nomeu projeto testá-lo, e isso não é muito eficiente. Eu pensei sobrenpm link
, mas não teve sorte, pois ainda possui node_modules instalados nomodule-x.
Isso aqui parece muito com o mesmo desafio que estou tendo, mas não parecenpm dedupe
ou a opção de desduplicação do Webpack funcionaria. Provavelmente não estou entendendo alguns detalhes importantes.