Javascript 我怎样才能把gulp.watch()递给烟斗?
我有一个简单的默认任务用于linting已更改的js文件: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
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。关注的增量工作,