gulp-jshint检查代码

安装 jshint和gulp-jshint

注意gulp-jshint需要依赖jshint

npm install jshint gulp-jshint -D

然后在gulpfile.js中修改

gulp.task('jshint', function () {
    gulp.src('app/src/js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))  // 输出结果,可以与其他的插件配合使用,可以更加好看的(比如颜色等)显示出错误信息
})

然后执行gulp jshint命令
可以看到结果

PS C:\wamp64\www\gulpbabel> gulp jshint
[11:56:42] Using gulpfile C:\wamp64\www\gulpbabel\gulpfile.js
[11:56:42] Starting 'jshint'...
[11:56:42] Finished 'jshint' after 8.86 ms
app\src\js\1.js: line 1, col 1, 'let' is available in ES6 (use 'esversion: 6') or Mozilla JS extensions (use moz).
app\src\js\1.js: line 2, col 18, Missing semicolon.

2 errors
app\src\js\2.js: line 1, col 18, Missing semicolon.

1 error
app\src\js\3.js: line 1, col 18, Missing semicolon.

1 error
app\src\js\greet.js: line 4, col 31, Missing semicolon.
app\src\js\greet.js: line 6, col 2, Missing semicolon.

2 errors
app\src\js\index.js: line 1, col 1, 'import' is only available in ES6 (use 'esversion: 6').
app\src\js\index.js: line 1, col 29, Missing semicolon.
app\src\js\index.js: line 2, col 1, 'import' is only available in ES6 (use 'esversion: 6').
app\src\js\index.js: line 2, col 24, Missing semicolon.
app\src\js\index.js: line 3, col 1, 'const' is available in ES6 (use 'esversion: 6') or Mozilla JS extensions (use moz).
app\src\js\index.js: line 3, col 28, Missing semicolon.
app\src\js\index.js: line 4, col 13, 'template literal syntax' is only available in ES6 (use 'esversion: 6').
app\src\js\index.js: line 4, col 30, Missing semicolon.
app\src\js\index.js: line 5, col 18, Missing semicolon.
app\src\js\index.js: line 6, col 37, Missing semicolon.

10 errors
PS C:\wamp64\www\gulpbabel>

可以看到提示错误说let属于es6的语法以及缺少分号,未解决这个问题,可以配置.jshintrc文件;或者在package.json文件中添加, 表示es的版本是6,可以解决es6的问题

{
  "jshintConfig" : {
    "esversion": 6
  }
}

或者新建.jshintrc

{
    "esversion": 6,  //可以有es6语法
    "undef": true, // 使用之前必须定义
    "unused": true, // 定义了必须使用
    "devel": true, // 可以使用console, alert;不配置为true是会报console未定义
    "globals": { // 配置全局变量,直接使用不会报错
        "module": true //不配置module为true时,在 module.exports = {} 时报module未定义
    }
}

jshint只检测代码不检测逻辑
具体参数参考http://jshint.com/docs/options/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    依依玖玥阅读 3,185评论 7 55
  • 1、gulp的安装 首先确保你已经正确安装了nodejs环境。然后以全局方式安装gulp: npm install...
    F_imok阅读 2,401评论 1 11
  • 对网站资源进行优化,并使用不同浏览器测试并不是网站设计过程中最有意思的部分,但是这个过程中的很多重复的任务能够使用...
    懵逼js阅读 1,088评论 0 8
  • gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学...
    井皮皮阅读 1,324评论 0 10
  • 前言: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开...
    晚晴幽草阅读 3,119评论 0 13