当 jshint 任务运行并且一切正确时如何记录消息?
How to log a message when jshint task runs and everything is correct?
我正在处理一个 Gulp 文件,我正在执行 jshint 检查我的代码的任务。
gulp.task('lint', function () {
return gulp.src(['public/**/*.js',
'!public/vendor/*.js', '!public/app.min.js', '!public/fonts/*.*',
'!public/favico.png', '!public/templates.js'])
.pipe(jshint())
.pipe(jshint.reporter( 'default' ));
});
我只是修复了我在代码中遇到的一些错误,但是 console/terminal 没有打印任何内容以了解现在是否一切正确。
我应该怎么做?
如 github project 页所述,
您可以创建一个自定义报告器来打印每个错误。
代码是这样的:
var jshint = require('gulp-jshint');
var map = require('map-stream');
var myReporter = map(function (file, cb) {
if (!file.jshint.success) {
console.log('JSHINT fail in '+file.path);
file.jshint.results.forEach(function (err) {
if (err) {
console.log(' '+file.path + ': line ' + err.line + ', col ' + err.character + ', code ' + err.code + ', ' + err.reason);
}
});
}
cb(null, file);
});
gulp.task('lint', function () {
return gulp.src(['public/**/*.js',
'!public/vendor/*.js', '!public/app.min.js', '!public/fonts/*.*',
'!public/favico.png', '!public/templates.js'])
.pipe(jshint())
.pipe(myReporter);
});
我正在处理一个 Gulp 文件,我正在执行 jshint 检查我的代码的任务。
gulp.task('lint', function () {
return gulp.src(['public/**/*.js',
'!public/vendor/*.js', '!public/app.min.js', '!public/fonts/*.*',
'!public/favico.png', '!public/templates.js'])
.pipe(jshint())
.pipe(jshint.reporter( 'default' ));
});
我只是修复了我在代码中遇到的一些错误,但是 console/terminal 没有打印任何内容以了解现在是否一切正确。
我应该怎么做?
如 github project 页所述,
您可以创建一个自定义报告器来打印每个错误。
代码是这样的:
var jshint = require('gulp-jshint');
var map = require('map-stream');
var myReporter = map(function (file, cb) {
if (!file.jshint.success) {
console.log('JSHINT fail in '+file.path);
file.jshint.results.forEach(function (err) {
if (err) {
console.log(' '+file.path + ': line ' + err.line + ', col ' + err.character + ', code ' + err.code + ', ' + err.reason);
}
});
}
cb(null, file);
});
gulp.task('lint', function () {
return gulp.src(['public/**/*.js',
'!public/vendor/*.js', '!public/app.min.js', '!public/fonts/*.*',
'!public/favico.png', '!public/templates.js'])
.pipe(jshint())
.pipe(myReporter);
});