Data la seguente struttura di directory:Come evitare Reagire caricare due volte con Webpack nello sviluppo
my-project
|
|-- node_modules
|
|-- react
|-- module-x
|
|--node_modules
|
|--react
È possibile vedere sia mio progetto e modulo-x richiedono reagire. Ho lo stesso problema descritto su this question, ma il suggerimento è quello di rimuovere reagire dalle dipendenze di package.json. Lo faccio e funziona bene, purché non siano installati node_modules in module-x, perché Webpack utilizzerà React da my-project. Ma se sono in fase di sviluppo del modulo -x e i node_modules sono installati, Webpack utilizza React sia da mio-progetto e modulo-x.
È possibile che Webpack si assicuri che venga utilizzata solo un'istanza di React, anche se è richiesta su due livelli separati?
So che avrei potuto mantenere modulo-x in una directory separata durante lo sviluppo, ma sembra che avrei dovuto pubblicarlo e quindi installarlo in mio progetto per provarlo, e che non è molto efficiente. Ho pensato a npm link
, ma non ho avuto fortuna poiché ha ancora node_modules installati in module-x.
This here suona molto simile alla stessa sfida che sto avendo, ma non sembra come npm dedupe
o l'opzione di deduplicazione di Webpack potrebbe funzionare. Probabilmente non sto capendo alcuni dettagli importanti.
Ho passato mezza giornata a questo problema. Sfortunatamente, né il messaggio di errore nel browser né i documenti Webpack sono molto utili. Hai salvato la mia giornata! Grazie!! –
Questa è un'eccellente soluzione grazie mille - significa che posso usare il collegamento npm senza strapparmi i capelli :-) –
Wow, questo strano avvertimento quando usi 'npm link', grazie. – Oscar