web-dev-qa-db-fra.com

À quoi sert cette commande "react-scripts eject"?

Que fait la commande npm run eject? Je comprends ce que les autres commandes font comme démarrer, construire, tester. Mais aucune idée de l'éjection.

64
Ishan Patel

create-react-app encapsule tous les modules npm qu'il utilise en interne, de sorte que votre package.json sera très propre et simple sans que vous ayez à vous en préoccuper.

Cependant, si vous voulez commencer à faire des choses plus complexes et installer des modules qui peuvent interagir avec les modules que create-rea-app utilise sous le capot, ces nouveaux modules doivent savoir ce qui est disponible et non, ce qui signifie que vous devez avoir créer-réagir -app désabstrait les.

C’est essentiellement ce que react-scripts eject fait. Il va cesser de cacher ce qu'il a installé sous le capot et au lieu de cela éjecter ces choses dans le package.json de votre projet pour que tout le monde puisse le voir.

116
casieber
npm run eject

Remarque: il s'agit d'une opération à sens unique. Une fois que vous eject, vous ne pouvez plus revenir en arrière!

Si vous n'êtes pas satisfait du choix de l'outil de compilation et de la configuration, vous pouvez à tout moment eject. Cette commande supprimera la dépendance de construction unique de votre projet.

Au lieu de cela, il copiera tous les fichiers de configuration et les dépendances transitives (Webpack, Babel, ESLint, etc.) directement dans votre projet afin que vous en gardiez le contrôle total. Toutes les commandes sauf eject fonctionneront toujours, mais elles pointeront vers les scripts copiés afin que vous puissiez les modifier. À ce stade, vous êtes seul.

Vous n’avez pas à utiliser eject. Le jeu de fonctionnalités organisé est adapté aux déploiements de petite et moyenne taille et vous ne devriez pas vous sentir obligé d’utiliser cette fonctionnalité. Cependant, nous comprenons que cet outil ne serait pas utile si vous ne pouviez pas le personnaliser lorsque vous êtes prêt.

lien vers la documentation


Alternatives à l'éjection

Ejecting vous permet de personnaliser n'importe quoi, mais à partir de là, vous devez gérer vous-même la configuration et les scripts. Cela peut être décourageant si vous avez beaucoup de projets similaires. Dans de tels cas, au lieu d'éjecter, il est recommandé de créer forkreact-scripts et tout autre package dont vous avez besoin. Cet article plonge dans la façon de le faire en profondeur. Vous pouvez trouver plus de discussion dans ce numéro.

38
Sergii