gulp-jslint 不在输出中包含错误描述,而是说 "undefined : undefined"

gulp-jslint doesn't include error description in output, says "undefined : undefined" instead

我是 运行 gulp-jslint,它可以正确标记错误,但不在输出中包含错误描述。

这是gulpfile.js:

var gulp = require('gulp'),
    jslint = require('gulp-jslint');

gulp.task('default', ['jslint-server']);

gulp.task('jslint-server', function () {
    return gulp.src([ // some example files
                    'scripts/*.js',
                    'web-server.js'
                ])
            .pipe(jslint({ node:true, bitwise:true }))
            .pipe(jslint.reporter( 'stylish' ));
});

这是输出:

 ✓ config.js
 ✖ ConfigController.js
   ✖ 6:undefined: undefined
   ✖ 8:undefined: undefined
 ✓ FeaturesController.js
 ✓ web-server.js

它已正确标记了两个错误。但是,我希望看到错误描述 "undefined : undefined"。

关于摆脱这个的任何建议?

这是 gulp-jslint 中的错误。

'default' 记者在 v1.0.2 版本的 issue #33. The problem was fixed in this commit 中报告了类似的情况。

然而,gulp-jslint 的作者似乎忘记对您正在使用的 'stylish' 报告器应用相同的修复程序。

最好的办法是在 GitHub 上报告这个问题,并在这个问题中加入 link。

在解决此问题之前,您可以使用以下解决方法:

gulp.task('jslint-server', function () {
  return gulp.src([ 
    'scripts/*.js',
    'web-server.js'
  ])
  .pipe(jslint({ node:true, bitwise:true }))
  //--- workaround ---
  .on('data', function(file) {
    file.jslint.errors.forEach(function(err) {
      err.column = err.column || err.character;
      err.message = err.message || err.reason;
    });
  })
  //------------------
 .pipe(jslint.reporter( 'stylish' ));
});