Si tiene tareas dependientes, debe devolver la secuencia para que las tareas esperen a que se completen sus tareas dependientes antes de ejecutarse.
p.ej
// without return
gulp.task('task1', function() {
gulp.src('src/coffee/*.coffee')
/* eg compile coffeescript here */
.pipe(gulp.dest('src'));
});
gulp.task('task2', ['task1'], function() {
gulp.src('src/*.js')
/* eg minfify js here */
.pipe(gulp.dest('dest'));
});
en ese ejemplo, esperaría que la tarea1 se complete (por ejemplo, compilando el coffeescript o lo que sea) antes de que se ejecute la tarea2 ... pero a menos que agreguemos retorno , como en el ejemplo a continuación, se ejecutarán sincrónicamente y no asincrónicamente; y el coffeescript compilado no se minificará porque la tarea 2 no habrá esperado a que se complete la tarea 1 y, por lo tanto, no recogerá el resultado compilado de la tarea1 . Por lo tanto, siempre debemos volver en estas circunstancias.
// with return
gulp.task('task1', function() {
return gulp.src('**/*.coffee')
/* your operations here */
.pipe(gulp.dest('dest'));
});
gulp.task('task2', ['task1'], function() {
return gulp.src('**/*.js')
/* your operations here */
.pipe(gulp.dest('dest'));
});
Editar: La receta aquí lo explica más a fondo. https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md