update specific scripts javascript node.js npm cmd

javascript - specific - npm update



Ejecutar secuencias de comandos NPM secuencialmente (4)

Invoque estos scripts a través de npm run y encadénelos con doble ampersand && :

npm run pre-build && npm run build_logic && npm run post_build && npm run exit

Explicación:

  • Use && (doble ampersand) para ejecución secuencial.
  • Utilice & (ampersand simple) para ejecución paralela.

Digamos que tengo

"scripts": { "pre-build": "echo /"Welcome/" && exit 1", "build_logic": "start cmd.exe @cmd /k /"yo esri-appbuilder-js:widget && exit 1/"", "post_build": "start C://WebAppBuilderForArcGIS//startupShortcut", "exit" : "start cmd.exe @cmd /k /"echo /"goodbye/" && exit 1/"" },

¿Qué comando NPM puedo ejecutar para permitir que todos estos scripts se ejecuten secuencialmente? Cuando uso la corrección previa / posterior, se inician secuencialmente pero no esperan a que el script principal termine antes de ejecutarse. Supongo que la única solución es: ¿Cómo hago que las tareas de Gulp se activen secuencialmente al disparar comandos de shell en una función auxiliar async.series? ? Sé que esto se puede hacer con Gulp, pero me gustaría seguir con NPM por ahora para explorar sus capacidades. ¡Gracias por cualquier ayuda!


Podrías encadenarlos en otro script. "start": "pre-build && build_logic && post_build && exit"


Puede prefijar sus scripts pre y post para que se ejecuten automáticamente:

"scripts": { "prebuild": "echo /"Welcome/" && exit 1", "build": "start cmd.exe @cmd /k /"yo esri-appbuilder-js:widget && exit 1/"", "postbuild": "start C://WebAppBuilderForArcGIS//startupShortcut", "exit" : "start cmd.exe @cmd /k /"echo /"goodbye/" && exit 1/"" }

luego ejecuta npm run build


Siguiendo la excelente answer @ Mobiletainment, también puede usar npm-run-all para hacer que el comando sea mucho más corto y mucho más legible. En tu caso:

"scripts": { ... "build": "run-s pre-build build_logic post_build exit" }

run-s es un acceso directo que proporciona npm-run-all , que ejecuta todos los npm-scripts dados secuencialmente, de ahí el -s ( run-s es una versión más corta de npm-run-all -s ).