美文网首页
gulp-jshint检查代码

gulp-jshint检查代码

作者: 刘小苏苏 | 来源:发表于2018-05-23 14:37 被阅读337次

安装 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/

相关文章

  • gulp-jshint检查代码

    安装 jshint和gulp-jshint 注意gulp-jshint需要依赖jshint 然后在gulpfile...

  • 检查代码

    阅读《软件测试》书籍随手记录的笔记 静态白盒测试:检查设计和代码静态白盒测试是在不执行软件的条件下有条理地仔细审查...

  • npm script工作流(二)串行和并行

    代码检查 eslint 【js 代码检查】 stylelint 【样式文件检查】 jsonlint 【json ...

  • 3.8 检查代码

    3.8 检查代码 问题一:代码检查具体是做什么? 检查代码主要检查以下几项: 代码风格:让项目成员强制遵守统一的代...

  • webpack + eslint

    工欲善其事必先利其器 前面用gulp 和 gulp-jshint 、sublimeText + jshint 检测...

  • gulp-jshint总结

    定义声明 常见检查规则

  • TypeScript代码检查

    对于Typescript项目的编码规范而言,主要有两种选择ESLint和TSLint。ESLint不仅能规范js代...

  • coverity 代码检查

    使用了Coverity代码静态检测工具。功能很强大,超乎我的期望。主要功能如下: 列出不会被执行到的代码列出没被初...

  • python代码检查

    实际参与过项目开发后就能够深深体会到代码的规范对项目的重要性,这中间不仅关系着你对代码bug的修正还包括有后来的伙...

  • 动态代码检查

    动态代码检查是发生在程序执行过程中的一种检测,检测的内容通常有, 内存泄漏。如:申请的内存没有释放 访问未初始化的...

网友评论

      本文标题:gulp-jshint检查代码

      本文链接:https://www.haomeiwen.com/subject/osqrjftx.html