Estoy usando Grunt (herramienta de construcción de línea de comandos basada en tareas para proyectos de JavaScript) en mi proyecto. He creado una etiqueta personalizada y me pregunto si es posible ejecutar un comando en ella.
Para aclarar, estoy tratando de usar plantillas de cierre y "la tarea" debería llamar al archivo jar para precompilar el archivo Soy en un archivo javascript.
Estoy ejecutando este jar desde la línea de comandos, pero quiero configurarlo como una tarea.

grunt-shella trabajar de inmediato con Windows + Cygwin, pero tuve más suerte congrunt-exec."exec:cmd1", "exec:cmd2"entonces también tiene un orden sincrónico.Mira
grunt.util.spawn:fuente
opts: {stdio: 'inherit'},se puede ver la salida del comandogrunt-legacy-utilcomplemento. Recomienda usar en surequire('child_process').spawn()lugar.Encontré una solución, así que me gustaría compartirla contigo.
Estoy usando grunt debajo del nodo, por lo que para llamar a los comandos de la terminal, debe requerir el módulo 'child_process'.
Por ejemplo,
fuente
shantes,sh mayCommand.shno estoy seguro de que funcione en WindowsSi está utilizando la última versión de grunt (0.4.0rc7 en el momento de escribir este artículo), tanto grunt-exec como grunt-shell fallan (no parecen estar actualizados para manejar el último grunt). Por otro lado, el ejecutivo de child_process es asincrónico, lo cual es una molestia.
Terminé usando la solución de Jake Trent y agregando shelljs como una dependencia de desarrollo en mi proyecto para poder ejecutar pruebas de manera fácil y sincrónica:
fuente
grunt-shellestá funcionando bien congrunt v0.4.5WindowsLos chicos están apuntando child_process, pero intenta usar execSync para ver la salida.
fuente
Para los comandos de shell asíncronos que funcionan con Grunt 0.4.x, use https://github.com/rma4ok/grunt-bg-shell .
fuente