实际上这就是我的目录的样子:
-Project
-app
-js
-some.js
-libs
-some.js
-some.js
-dist
-js
-some.js
-libs
-some.js
-some.js
我正在使用gulp来管理这个,这是我的问题,我无法成功将libs目录过滤到我的js lint。 (我只想扫描自己的js,而不是lib)
所以我试过这个:
gulp.task('js', function(){
var filter = gulpFilter(['**/*', '!app/js/libs/**/*.js']);
gulp.src('app/js/**')
.pipe(filter)
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(filter.restore())
.pipe(gulp.dest('./dist/js'))
});
但是jshint仍然适用于libs:/
欢迎任何帮助! :)
答案 0 :(得分:2)
实际上,由于gulp.src支持路径排除,因此您不需要过滤器来实现您想要的功能。更改以下任务,你会很好;)
gulp.task('js', function () {
return gulp.src(['app/js/**/*.js', '!app/js/libs/**'])
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(gulp.dest('./dist/js'))
});
编辑:考虑您的评论,您应该使用
gulp.task('js', function(){
var filter = gulpFilter(['*.js', '!app/js/libs/**']);
return gulp.src('app/js/**')
.pipe(filter)
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(filter.restore())
.pipe(gulp.dest('./dist/js'))
});