Jika Anda memiliki tugas dependen, Anda perlu mengembalikan aliran untuk tugas-tugas untuk menunggu tugas dependen mereka untuk menyelesaikan sebelum menjalankan sendiri.
misalnya
// 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'));
});
dalam contoh itu Anda akan mengharapkan task1 untuk menyelesaikan (misalnya mengkompilasi naskah kopi atau apa pun) sebelum task2 berjalan ... tetapi kecuali kita menambahkan kembali - seperti contoh di bawah ini - maka mereka akan berjalan secara sinkron bukan asinkron; dan skrip kopi yang dikompilasi tidak akan dikecilkan karena task2 tidak akan menunggu tugas 1 selesai dan karenanya tidak akan mengambil output dari task1 yang dikompilasi . Jadi kita harus selalu kembali dalam keadaan seperti ini.
// 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'));
});
Sunting: Resep di sini menjelaskan lebih lanjut. https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md