Nếu bạn có các tác vụ phụ thuộc, bạn cần trả về luồng cho các tác vụ để chờ các tác vụ phụ thuộc của chúng hoàn thành trước khi tự chạy.
ví dụ
// 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'));
});
trong ví dụ đó, bạn mong muốn task1 hoàn thành (ví dụ: biên dịch coffeescript hoặc bất cứ thứ gì) trước khi task2 chạy ... nhưng trừ khi chúng ta thêm return - như ví dụ bên dưới - thì chúng sẽ chạy không đồng bộ; và coffeescript đã biên dịch sẽ không được thu nhỏ vì task2 sẽ không đợi tác vụ 1 hoàn thành và do đó sẽ không nhận đầu ra được biên dịch của task1 . Vì vậy, chúng ta nên luôn luôn trở lại trong những trường hợp này.
// 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'));
});
Chỉnh sửa: Công thức ở đây giải thích thêm. https://github.com/gulpjs/gulp/blob/master/docs/recipes/rucky-t task-in-series.md