我正在进入 Gulp 的许多流中,并且遇到了一个令人困惑的主题。我想在所有任务实际完成时发布通知。我看到任务已执行,但默认情况下是异步运行的。
如果我想在每个步骤完成后显示一条通知......并且在所有步骤完成后显示通知怎么办?
在 gulp 中更好地控制任务时间的最佳方法是什么?
目前,我正在使用 gulp-notify 来显示通知。
更新 X 2
我真的没有任何错误,但想更好地了解这里的操作顺序以及如何触发我自己的所有任务何时完成的通知。这是示例。
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_notify = require('gulp-notify');
gulp.task('task1', function() {
return gulp.src(['file1.js','file2.js'])
.pipe(gp_concat('file1_2.js')
.pipe(gp_notify({ message: "file1_2 created." }
})
gulp.task('task2', function() {
return gulp.src(['file3.js','file4.js'])
.pipe(gp_concat('file3_4.js')
.pipe(gp_notify({ message: "file3_4 created." }
})
gulp.task('mainTask', ['task1','task2'], function() {
gulp.src('file*_*.js')
.pipe(gp_notify({ message: "All tasks complete." }))
});
在控制台中,通知现在已正确计时,但是在执行结束时,就在 xx ms 后完成“mainTask”之前,最终的“所有任务完成”消息会触发 [n-1] 次,其中 n 是计数的子任务。
是什么导致这个最终通知被触发这么多次,如何抑制它?