【问题标题】:gulp-jslint doesn't include error description in output, says "undefined : undefined" insteadgulp-jslint 在输出中不包含错误描述,而是说“未定义:未定义”
【发布时间】:2016-08-18 15:21:00
【问题描述】:

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

它已正确标记了两个错误。但是,我希望看到“未定义:未定义”的错误描述。

对摆脱这种情况有什么建议吗?

【问题讨论】:

    标签: node.js gulp jslint


    【解决方案1】:

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

    【讨论】:

    • 谢谢!我会按照你的建议在 github 上报告。有趣的是,我尝试了默认的记者并得到了相同的结果。
    • v1.0.2 版本没有发布到 npm(它仍然是 v1.0.1)。因此,除非您直接从 GitHub 安装,否则您还没有 'default' 记者修复。
    • 编辑:我运行的是 1.0.1,因为 1.0.2 还不是当前版本,所以没有看到修复是有意义的。
    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多