¿Cómo puedo ejecutar varios scripts npm en paralelo?
En mi package.json
tengo estos dos scripts:
"scripts": {
"start-watch": "nodemon run-babel index.js",
"wp-server": "webpack-dev-server",
}
Tengo que ejecutar estos 2 scripts en paralelo cada vez que empiezo a desarrollar en Node.js. Lo primero que pensé fue en agregar un tercer script como este:
"dev": "npm run start-watch && npm run wp-server"
... pero eso esperará start-watch
a que termine antes de ejecutarse wp-server
.
¿Cómo puedo ejecutarlos en paralelo? Tenga en cuenta que necesito ver el contenido output
de estos comandos. Además, si su solución implica una herramienta de compilación, prefiero usarla gulp
porque grunt
ya la uso en otro proyecto.
Utilice un paquete llamado simultáneamente .
npm i concurrently --save-dev
Luego configure su npm run dev
tarea de la siguiente manera:
"dev": "concurrently --kill-others \"npm run start-watch\" \"npm run wp-server\""
Si está utilizando un entorno tipo UNIX, simplemente utilice &
como separador:
"dev": "npm run start-watch & npm run wp-server"
De lo contrario, si está interesado en una solución multiplataforma, puede usar el módulo npm-run-all :
"dev": "npm-run-all --parallel start-watch wp-server"
Desde Windows cmd puedes usar start
:
"dev": "start npm run start-watch && start npm run wp-server"
Cada comando lanzado de esta manera comienza en su propia ventana.