【问题标题】:How to log a message when jshint task runs and everything is correct?当 jshint 任务运行并且一切正确时如何记录消息?
【发布时间】:2016-05-08 19:04:59
【问题描述】:

我正在处理一个 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' ));
});

我只是修复了我在代码中遇到的一些错误,但控制台/终端没有打印任何内容以了解现在一切是否正确。

我该怎么做?

【问题讨论】:

    标签: javascript gulp jshint


    【解决方案1】:

    正如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);
    });
    

    【讨论】:

    • 太奇怪了,我收到 Invalid Reporter 消息:/
    • 示例来自文档页面,对您的案例进行了一些更改。
    • 你能分享一下输出吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2012-06-03
    • 2011-07-11
    • 2013-10-07
    • 1970-01-01
    相关资源
    最近更新 更多