descargar - gulp watch sass
¿Cómo canalizar a otra tarea en Gulp? (2)
Si observa la fuente del orquestador, particularmente la implementación de .start()
verá que si el último parámetro es una función, la tratará como una devolución de llamada.
Escribí este fragmento para mis propias tareas:
gulp.task( ''task1'', () => console.log(a) )
gulp.task( ''task2'', () => console.log(a) )
gulp.task( ''task3'', () => console.log(a) )
gulp.task( ''task4'', () => console.log(a) )
gulp.task( ''task5'', () => console.log(a) )
function runSequential( tasks ) {
if( !tasks || tasks.length <= 0 ) return;
const task = tasks[0];
gulp.start( task, () => {
console.log( `${task} finished` );
runSequential( tasks.slice(1) );
} );
}
gulp.task( "run-all", () => runSequential([ "task1", "task2", "task3", "task4", "task5" ));
Intento SECAR mi gulpfile. Allí tengo una pequeña duplicación de código con la que no me siento cómodo. ¿Cómo se puede mejorar esto?
gulp.task(''scripts'', function() {
return gulp.src(''src/scripts/**/*.coffee'')
.pipe(coffeelint())
.pipe(coffeelint.reporter())
.pipe(coffee())
.pipe(gulp.dest(''dist/scripts/''))
.pipe(gulp.src(''src/index.html'')) // this
.pipe(includeSource()) // needs
.pipe(gulp.dest(''dist/'')) // DRY
});
gulp.task(''index'', function() {
return gulp.src(''src/index.html'')
.pipe(includeSource())
.pipe(gulp.dest(''dist/''))
});
Obtuve el index
como una tarea separada, ya que necesito ver src/index.html
para livereload. Pero también estoy viendo mis fuentes de .coffee
y cuando cambian, necesito actualizar src/index.html
también.
¿Cómo puedo canalizar para index
en scripts
?
gulp
permite ordenar una serie de tareas basadas en argumentos.
Ejemplo:
gulp.task(''second'', [''first''], function() {
// this occurs after ''first'' finishes
});
Pruebe el siguiente código, ejecutará el ''índice'' de la tarea para ejecutar ambas tareas:
gulp.task(''scripts'', function() {
return gulp.src(''src/scripts/**/*.coffee'')
.pipe(coffeelint())
.pipe(coffeelint.reporter())
.pipe(coffee())
.pipe(gulp.dest(''dist/scripts/''));
});
gulp.task(''index'', [''scripts''], function() {
return gulp.src(''src/index.html'')
.pipe(includeSource())
.pipe(gulp.dest(''dist/''))
});
El index
tareas ahora requerirá que los scripts
se completen antes de ejecutar el código dentro de su función.