考虑以下 gulp 文件:
var gulp = require('gulp');
var eslint = require('gulp-eslint');
var debug = require('gulp-debug');
gulp.task('lint', function (done) {
gulp
.src([
'src/**/*.js',
'!src/public/javascripts/external/*'
])
.pipe(eslint())
.pipe(eslint.format())
//.pipe(debug({title: 'Linting:'}));
done();
});
如果我的 src 文件夹包含的文件太多(我不是说数量过多。小于 20),则gulp lint
只会输出
Using gulpfile [my/path/to/gulpfile]
Starting 'lint'...
Finished 'lint' after 55ms
ESLint 不会发出任何警告,尽管我确定我的代码当然存在问题。通过从我的 src 文件夹中手动添加 javascript 文件而不使用通配符,可以重现此问题。在一定数量的文件之后(我很遗憾忘了数),错误将不再显示。这并不取决于我添加了哪些文件,而只是数量。
出于某种原因,可以通过添加输出调试信息的注释行来“修复”这种行为,所以我假设我的错误与我误解 gulp 内部工作原理有关。ESLint 在外部调用时也能正常工作。任何想法可能是什么问题或缩小范围的步骤?