Se você tiver tarefas dependentes, será necessário retornar o fluxo para que as tarefas aguardem a conclusão de suas tarefas dependentes antes de serem executadas.
por exemplo
// 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'));
});
nesse exemplo que você esperaria task1 a completa (por exemplo, a compilação do CoffeeScript ou qualquer outro) antes TASK2 executado ... mas, a menos que adicionar retorno - como no exemplo abaixo - em seguida, eles serão executados de forma síncrona não de forma assíncrona; e o coffeescript compilado não será minificado porque a tarefa2 não terá esperado pela conclusão da tarefa 1 e, portanto, não receberá a saída compilada da tarefa1 . Portanto, devemos sempre retornar nessas circunstâncias.
// 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'));
});
Edit: A receita aqui explica mais. https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md