当 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);
});