Como señaló Sagiv bg, el npm start
comando es un atajo para npm 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-app
repositorio de github. El package.json
define un montón de scripts que definen el flujo real.
"scripts": {
"start": "npm-run-all -p watch-css start-js",
"build": "npm run build-css && react-scripts build",
"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
"start-js": "react-scripts start"
},
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 start
npm run build
Los cuadros grises son comandos que se pueden ejecutar desde la línea de comandos.
Entonces, por ejemplo, si ejecuta npm start
(o npm run start
) eso realmente se traduce al npm-run-all -p watch-css start-js
comando, que se ejecuta desde la línea de comandos.
En mi caso, tengo este npm-run-all
comando 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-css
y start-js
. (Esos últimos scripts mencionados son observadores que monitorean los cambios en los archivos y solo finalizarán cuando se eliminen).
El watch-css
se asegura de que los *.scss
archivos se traduzcan a *.css
archivos y busca futuras actualizaciones.
Los start-js
puntos a los react-scripts start
que aloja el sitio web en un modo de desarrollo.
En conclusión, el npm start
comando es configurable. Si quieres saber qué hace, entonces debes verificar el package.json
archivo. (y es posible que desee hacer un pequeño diagrama cuando las cosas se complican).
npm
que ejecuta scripts como estenpm run scriptName
,npm start
también es una abreviatura denpm run start