2015-04-27 21 views
2

對於一個大型項目,我運行gulp任務來分割和連接很多js文件。Gulp:在單個文件上運行jshint更改

在文件更改之前,重新構建所有捆綁包之前,運行jshint插件來驗證任何js違例。

有大量的js文件的任務需要很多時間。

我想僅對已更改的文件運行jshint,而不是將要捆綁的所有文件上運行...有關如何從下面的任務開始執行操作的任何想法?

gulp.task("lint", function() { 
    gulp.src("./src/**/*.js") 
     .pipe(jshint()) 
     .pipe(jshint.reporter("default")); 
}); 

感謝

+1

谷歌爲 「一飲而盡文件改爲」 收益https://www.npmjs.com/package/gulp-較新的 –

回答

6

插件,像gulp-cached是完美的確切這項任務:

var cache = require('gulp-cached'); 

gulp.task('lint', function(){ 
    return gulp.src('files/*.js') 
    .pipe(cache('linting')) 
    .pipe(jshint()) 
    .pipe(jshint.reporter()) 
}); 
+0

這正是我所期待的。謝謝@ddprrt爲你提供幫助 – rortelli

+0

非常好,我可以幫助:)請將答案標記爲已解決(綠色複選框在左邊),以便進一步訪問:) – ddprrt