2014-10-26 12 views
5

uso browserify raggruppare ReactJS e (tra gli altri) react-router. Ma quando guardo nella console, il messaggio ...ReactJS carico browserify due volte con reagire-router

Scarica la Reagire DevTools per una migliore esperienza di sviluppo: http://fb.me/react-devtools

... si presenta due volte dirmi (!) che in effetti sono in esecuzione due istanze di ReactJS. Se guardo nel mio JS browserificato ho visto la fonte ReactJS una sola volta (AGGIORNATO).

Come evitarlo?

Nota: Per favore dimmi se hai bisogno di maggiori informazioni, te lo fornisco.


package.json

"dependencies": { 
    "LiveScript": "^1.3.0", 
    "jquery": "*", 
    "firebase": "*", 
    "react": "0.11.2", 
    "reactfire": "*", 
    "react-router": "*", 
    ... 
} 

Quando eseguo npm ls | grep -i react ricevo ...

___ [email protected] 
___ [email protected] 
___ [email protected] 
_ ___ [email protected] 

Quindi, reagiscono viene caricato 0.11.2 (probabilmente due volte). Proverò ora npm dedupe, come suggerito.

+0

È possibile che tu abbia un vecchio riferimento alla sorgente di React ospitata da CDN nel tuo codice HTML da qualche parte? –

+0

React ospitato da CDN? Sto usando ** npm ** per scaricarlo. Questo non dovrebbe essere un problema, giusto? – xanderiel

risposta

1

Corsa npm dedupe. Molto probabilmente sono solo due diverse versioni di patch di reagire.

Non utilizzare mai i caratteri jolly per le dipendenze. Per reactfire <0.1 e react-router ^0.9.

+0

AGGIORNATO la mia domanda con '' 'npm ls''' Proverò a deduplicare ora. – xanderiel

+0

Non ha funzionato! Ho provato a guardarlo con '' 'npm ls''' dove * react * in effetti si è mostrato due volte, quindi' '' npm dedupe'''d che ha rimosso il duplicato * react *. Ma dopo aver costruito con * browserify * mostra ancora il '' 'Scarica il DevTools ...' '' due volte nella console. – xanderiel

+0

Ancora, buon consiglio con '' 'npm dedupe'''. Forse aggiungerò anche '' 'npm shrinkwrap'''. – xanderiel

1

Verificare se si sta effettuando l'importazione con un nome diverso. per esempio

var React = require('react'); 

e

var React = require('React'); 

causerà reagiscono da importare reagire due volte.