我有一个gulp watch任务,如果在过去一小时内没有任何变化,我希望它自动停止。这可能吗?
答案 0 :(得分:3)
使用超时:
gulp.task('watcher', function() {
var watcher = gulp.watch('./app/*.js', ['jshint']);
var timeout = setTimeout(watcher.end, 60*60*1000);
watcher.on('change', function() {
clearTimeout(timeout);
timeout = setTimeout(watcher.end, 60*60*1000);
});
});
每次Glob中的某些内容发生变化时,您都会终止超时并重新开始。否则你就会结束你的观察者。