He estado trabajando con un proyecto React, usando create-react-app, y tengo dos opciones para comenzar el proyecto:
Primera forma:
npm run startcon la definición package.jsonasí:
"start": "react-scripts start",
Segunda forma:
y npm start
¿Cuál es la diferencia entre estos dos comandos? ¿Y cuál es el propósito de la react-scripts start?
Traté de encontrar la definición, pero acabo de encontrar un paquete con el nombre, y todavía no sé cuál es el significado de este comando.

npmque ejecuta scripts como estenpm run scriptName,npm starttambién es una abreviatura denpm run startreact-scripts startes el comando adecuado para ejecutar la aplicación React en modo dev. Este comando se almacena en package.json, por lo que no tiene que memorizarlo y simplemente puede escribir lo habitual en sunpm run startlugar.npm startes un atajo para este último.Respuestas:
crear-reaccionar-aplicación y reaccionar-scripts
react-scriptses un conjunto de scripts delcreate-react-apppaquete de inicio. create-react-app lo ayuda a iniciar proyectos sin configurar, para que no tenga que configurar su proyecto usted mismo.react-scripts startconfigura el entorno de desarrollo e inicia un servidor, así como la recarga del módulo activo. Puedes leer aquí para ver todo lo que hace por ti.con create-react-app tienes las siguientes características listas para usar.
npm scripts
npm startes un acceso directo paranpm run start.npm runse usa para ejecutar scripts que usted define en elscriptsobjeto de su paquete.jsonsi no hay una
startclave en el objeto de scripts, el valor predeterminado seránode server.jsA veces quieres hacer más de lo que te dan los scripts de reacción, en este caso puedes hacerlo
react-scripts eject. Esto transformará su proyecto de un estado "administrado" a un estado no administrado, donde tiene control total sobre las dependencias, los scripts de compilación y otras configuraciones.fuente
npm run build. Esto creará una carpeta de compilación. Esta carpeta puede servir. por ejemplo,npm install -g servey luegoserve -s buildfacebook.github.io/create-react-app/docs/deploymentComo señaló Sagiv bg, el
npm startcomando es un atajo paranpm run start. Solo quería agregar un ejemplo de la vida real para aclararlo un poco más.La configuración a continuación proviene del
create-react-apprepositorio de github. Elpackage.jsondefine un montón de scripts que definen el flujo real.Para mayor claridad, agregué un diagrama.
Los cuadros azules son referencias a scripts, todos los cuales puede ejecutar directamente con un
npm run <script-name>comando. Pero como puede ver, en realidad solo hay 2 flujos prácticos:npm run startnpm run buildLos cuadros grises son comandos que se pueden ejecutar desde la línea de comandos.
Entonces, por ejemplo, si ejecuta
npm start(onpm run start) eso realmente se traduce alnpm-run-all -p watch-css start-jscomando, que se ejecuta desde la línea de comandos.En mi caso, tengo este
npm-run-allcomando especial , que es un complemento popular que busca secuencias de comandos que comienzan con "build:" y ejecuta todas esas. En realidad no tengo ninguno que coincida con ese patrón. Pero también se puede usar para ejecutar múltiples comandos en paralelo, lo que hace aquí, usando el-p <command1> <command2>interruptor. Entonces, aquí ejecuta 2 scripts, es decir,watch-cssystart-js. (Esos últimos scripts mencionados son observadores que monitorean los cambios en los archivos y solo finalizarán cuando se eliminen).El
watch-cssse asegura de que los*.scssarchivos se traduzcan a*.cssarchivos y busca futuras actualizaciones.Los
start-jspuntos a losreact-scripts startque aloja el sitio web en un modo de desarrollo.En conclusión, el
npm startcomando es configurable. Si quieres saber qué hace, entonces debes verificar elpackage.jsonarchivo. (y es posible que desee hacer un pequeño diagrama cuando las cosas se complican).fuente
"inicio" es el nombre de un script, en npm ejecuta scripts como este
npm run scriptName,npm starttambién es una abreviatura denpm run startEn cuanto a "react-scripts", este es un script relacionado específicamente con create-react-app
fuente