tutorial mac cli javascript node.js gulp

javascript - mac - Ejecutando la tarea gulp desde un gulpfile.js desde otro gulpfile.js



install gulp mac (1)

require (''child_process''). spawn;

Ejecutar un Gulpfile desde un directorio diferente es bastante simple con el módulo child_process#spawn Node .

Intenta adaptar lo siguiente a tus necesidades:

// Use `spawn` to execute shell commands with Node const { spawn } = require(''child_process'') const { join } = require(''path'') /* Set the working directory of your current process as the directory where the target Gulpfile exists. */ process.chdir(join(''tasks'', ''foo'')) // Gulp tasks that will be run. const tasks = [''js:uglify'', ''js:lint''] // Run the `gulp` executable const child = spawn(''gulp'', tasks) // Print output from Gulpfile child.stdout.on(''data'', function(data) { if (data) console.log(data.toString()) })

trago

Aunque el uso de gulp-chug es una forma de hacerlo, ha sido incluido en la lista negra por los mantenedores de gulp por ser ...

"Execing, demasiado complejo y solo está usando gulp como un globber"

La lista negra oficial dice ...

"no hay razón para que esto exista, use el módulo de requerimiento para todos o el requerimiento de nodo"

Tal vez sea algo malo con mi enfoque, pero tengo una situación siguiente:

  1. Tengo un component-a que tiene un gulpfile. Una de sus tareas (por ejemplo, construir) construye el componente y crea un archivo js combinado en la carpeta dist
  2. Tengo un component-b que tiene un gulpfile. Una de sus tareas (por ejemplo, construir) construye el componente y crea un archivo js combinado en la carpeta dist
  3. Tengo un proyecto que utiliza ambos componentes. Este proyecto también tiene un gulpfile y en él me gustaría escribir una tarea que:
    • ejecuta la tarea de compilación desde /components/component-a/gulpfile.js
    • ejecuta la tarea de compilación desde /components/component-b/gulpfile.js
    • concats /components/component-a/dist/build.js y /components/component-b/dist/build.js (sé cómo hacerlo)

Lo que no sé es cómo ejecutar la tarea de compilación desde /components/component-?/gulpfile.js. ¿Es posible o debería lidiar con esta situación de otra manera?