如何超时 gulp-watch 如果不活动

How to timeout gulp-watch if inactive

我有一个 gulp 监视任务,我希望它在过去一个小时内没有任何变化时自动停止。这可能吗?

使用超时:

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 中的某些东西发生变化时,你就会终止超时并重新启动它。否则你会结束你的观察者。