¿Qué hace este comando "react-scripts eject"?


Respuestas:


156

create-react-app encapsula todos los módulos npm que está usando internamente, por lo que su package.json será muy limpio y simple sin que tenga que preocuparse por ello.

Sin embargo, si desea comenzar a hacer cosas más complejas e instalar módulos que puedan interactuar con los módulos que create-react-app está usando bajo el capó, esos nuevos módulos necesitan saber qué está disponible y qué no, lo que significa que debe tener create-react -app anular el resumen de ellos.

Eso, en esencia, es lo que react-scripts ejecthace. Dejará de ocultar lo que tiene instalado debajo del capó y en su lugar expulsará esas cosas en el package.json de su proyecto para que todos lo vean.


2
La respuesta de @Sergii es más precisa. Eject no se trata solo de package.json y módulos NPM, incluye otras cosas (babel, webpack, eslint, etc.) github.com/facebook/create-react-app/blob/master/packages/…
Bruno Monteiro

67
npm run eject

Nota: esta es una operación unidireccional. Una vez que lo hayas hecho eject, ¡no podrás volver!

Si no está satisfecho con la herramienta de compilación y las opciones de configuración, puede hacerlo ejecten cualquier momento. Este comando eliminará la dependencia de compilación única de su proyecto.

En su lugar, copiará todos los archivos de configuración y las dependencias transitivas (Webpack, Babel, ESLint, etc.) directamente en su proyecto para que tenga control total sobre ellos. Todos los comandos excepto ejectseguirán funcionando, pero apuntarán a los scripts copiados para que pueda modificarlos. En este punto estás solo.

No tienes que usarlo nunca eject. El conjunto de funciones seleccionadas es adecuado para implementaciones pequeñas y medianas, y no debería sentirse obligado a utilizar esta función. Sin embargo, entendemos que esta herramienta no sería útil si no pudiera personalizarla cuando esté listo para usarla.

enlace a la documentación


Alternativas a la expulsión

La expulsión le permite personalizar cualquier cosa, pero a partir de ese momento debe mantener la configuración y los scripts usted mismo. Esto puede resultar abrumador si tiene muchos proyectos similares. En tales casos, en lugar de expulsar, recomendamos bifurcar react-scriptsy cualquier otro paquete que necesite. Este artículo profundiza en cómo hacerlo. Puede encontrar más información sobre este tema.


podemos volver a agregar nuevamentenpm install react-scripts
Ashish Kamble

Estoy completamente insatisfecho con ambos enfoques. Tiene dependencias antiguas sin razón aparente. Ambos enfoques ocultan estos problemas y desvían los esfuerzos de desarrollo del proyecto al código sin salida. No hay sustituto para una adecuada gestión de la dependencia.
Árpád Magosányi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.