Javascript 我怎样才能把gulp.watch()递给烟斗?

Javascript 我怎样才能把gulp.watch()递给烟斗?,javascript,node.js,gulp,Javascript,Node.js,Gulp,我有一个简单的默认任务用于linting已更改的js文件: gulp.task('default', function() { // watch for JS changes gulp.watch(base + 'javascripts/**/*.js', function() { gulp.run('jshint'); }); }); 问题是,jshint任务再次源文件: gulp.task('j

我有一个简单的默认任务用于linting已更改的js文件:

    gulp.task('default', function() {
        // watch for JS changes
        gulp.watch(base + 'javascripts/**/*.js', function() {
            gulp.run('jshint');
        });
    });
问题是,
jshint
任务再次源文件:

    gulp.task('jshint', function() {
        gulp.src([base + 'javascripts/*.js'])
            .pipe(jshint())
            .pipe(jshint.reporter('default'));
    });
发生的情况是,所有文件都被删除,而不仅仅是更改的文件


有没有办法只将更改后的文件传递给jshint?

根据@OverZeous,我发现使用gulp watch可以使用这种方法:

gulp.task('default', function() {
    gulp.src(base + 'javascripts/**/*.js', { read: false })
        .pipe(watch())
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
});
需要
{read:false}
,以避免启动时挂起所有文件。
此解决方案不会删除首次启动时不存在的文件。

Mhm。感觉很尴尬,因为changed()需要一个我不需要的目的地,因为什么都没有改变。似乎有点反对关于gulp易用性的大肆宣传?不要使用
gulp。关注
的增量工作,