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

时间:2016-08-18 15:21:01

标签: node.js gulp jslint

我正在运行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”。

有关摆脱这个的建议吗?

1 个答案:

答案 0 :(得分:2)

这是gulp-jslint中的错误。

issue #33'default'记者报道了类似情况。对于v1.0.2版本,问题已在this commit中修复。

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

最好的办法是在GitHub上报告此问题,并提供此问题的链接。

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

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