Cosa fa questo comando "react-scripts eject"?


Risposte:


160

create-react-app incapsula tutti i moduli npm che sta usando internamente, in modo che il tuo package.json sia molto pulito e semplice senza che tu debba preoccupartene.

Tuttavia, se vuoi iniziare a fare cose più complesse e installare moduli che possono interagire con i moduli create-react-app sta usando sotto il cofano, quei nuovi moduli devono sapere cosa è disponibile e cosa no, il che significa che devi avere create-react -app disastrarli.

Questo, in sostanza, è ciò che react-scripts ejectfa. Smetterà di nascondere ciò che è stato installato sotto il cofano e invece espellerà quelle cose nel package.json del tuo progetto affinché tutti possano vederle.


3
La risposta di @Sergii è più accurata. Eject non riguarda solo i moduli package.json e NPM, ma include altre cose (babel, webpack, eslint, ecc.) Github.com/facebook/create-react-app/blob/master/packages/…
Bruno Monteiro,

69
npm run eject

Nota: questa è un'operazione unidirezionale. Una volta che tu eject, non puoi tornare indietro!

Se non sei soddisfatto dello strumento di compilazione e delle scelte di configurazione, puoi farlo ejectin qualsiasi momento. Questo comando rimuoverà la singola dipendenza di build dal tuo progetto.

Invece, copierà tutti i file di configurazione e le dipendenze transitive (Webpack, Babel, ESLint, ecc.) Direttamente nel tuo progetto in modo da avere il pieno controllo su di loro. Tutti i comandi tranne ejectfunzioneranno ancora, ma punteranno agli script copiati in modo da poterli modificare. A questo punto sei da solo.

Non devi mai usare eject. Il set di funzionalità curato è adatto per distribuzioni piccole e medie e non dovresti sentirti obbligato a utilizzare questa funzionalità. Tuttavia capiamo che questo strumento non sarebbe utile se non potessi personalizzarlo quando sei pronto.

collegamento alla documentazione


Alternative all'espulsione

L'espulsione ti consente di personalizzare qualsiasi cosa, ma da quel momento in poi devi mantenere la configurazione e gli script da solo. Questo può essere scoraggiante se hai molti progetti simili. In questi casi, invece di espellere, consigliamo di eseguire il fork react-scriptse qualsiasi altro pacchetto necessario. Questo articolo approfondisce come farlo. Puoi trovare ulteriori discussioni in questo numero.


possiamo tornare indietro usando di nuovo l'aggiuntanpm install react-scripts
Ashish Kamble

Sono completamente insoddisfatto di entrambi questi approcci. Hai antiche dipendenze senza una ragione apparente. Entrambi gli approcci nascondono questi problemi e sfocano gli sforzi di sviluppo dal progetto al codice senza uscita. Non vi è alcun sostituto per una corretta gestione delle dipendenze.
Árpád Magosányi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.