jshint 检测工具不够灵活下,道格拉斯(何许人也?json创造者,javascript重要任务,犀牛那本书就是他写的)。

文档地址:

安装

利用npm全局安装eslintpre-commit 。建议这两个全局安装,可能别人检测代码工具不一样,尤其webstrom是自带检测代码功能。

npm i -g eslint pre-commit

pre-commit,在git commit提交代码的时候,希望能够执行代码检测,不要把错误的代码上传到项目仓库(说直白点,谁写的错误代码,在提交时被检查出来,你必须解决,不解决不上传到。从而杜绝了他人修改你的代码)。

pre-commit 主要的配置是都在package.json

  1. scripts 定义你希望执行的命令。

    这里我们定义一个用eslint检测你开发代码,如下:
"scripts": {
"lint": "eslint src/**"
}
  1. 在定 pre-commit 的中
"pre_commit": [
"lint"
]

配置文件

这里都是按照推荐的方法来配置的(务必一定要看官网文档说明,很多语法支持都在官网有说明,google和百度文档不是一定是eslint最新最稳定版本。)

  1. 生成配置文件
eslint --init

在项目根目录下会生成 .eslintrc.js

  1. 执行环境的配置
module.exports = {
env : {
"node": true,
"brower": true,
"es6": true
}
}

"es6": true 开启es6全局变量,但并没有支持es6的新语法类型的支持,要开启需要在parserOptions中添加"ecmaVersion": 6

{
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
"semi": 2
}
}
  1. 解析器parser,这里是使用babel-eslint

先全局安装babel-eslint

npm i -g babel-eslint

修改配置参数:

{
"parser": "babel-eslint",
}
  1. jsx语法支持,安装eslint-plugin-react
npm install eslint-plugin-react --save-dev

配置参数

 "extends": [
"eslint:recommended",
"plugin:react/recommended"
]
  1. rule配置,这是elsint的核心,这个看文档
  • "off" 或 0 - 关闭规则
  • "warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)
  • "error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)

这里以no-console为例子说明。

"rules": {
"no-console": [
"error",
"allow": ["warn","error"]
]
}

这段规则意思禁止使用console,但出console.warnconsole.error

但又有时想用console.log,可以在js文件写入相关注释。

/*eslint-disable no-console*/
console.log('u can use console.log!');
/*eslint-enable no-console*/
console.log('u must not use console.log!');

编辑配置

像sublime、atom默认是没有代码检测的,是用webstorm的知道,那种代码及时检错功能非常方便。那么sublime和atom也可以配置相应及时检错(webstorm是含有的,为什么不使用webstrom?那是因为我对sublime、atom上的沉默成本太大)。

sublime配置

  • sublimeLinter
  • sulimeLinter-contrib-eslint

设置,要在sublimeLinter用户设置,添加如下内容:

{
"user": {
"paths":{
"window": [
"c:/User/userName/AppData/Roaming/npm/eslint.exe"
]
}
}
}

window根据自身的全局安装eslint情况而定。

atom配置

  • linter
  • atom-eslint

安装即可,插件的名字我记不清楚了,但是按照这样搜索,找到下载次数最多安装,是可以安装到对插件(我大多时间是使用sublime,很容易忽视atom,但是使用起来也没什么障碍)。

ps: 具体细节首要是查文档。

我犯了一个严重的错误,项目初始化一定要npm init,否则会出现一些某名奇妙的错误。

eslint 代码检测工具的更多相关文章

  1. 基于git diff进行的eslint代码检测

    缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...

  2. StyleCop(C#代码检测工具)

    StyleCop(C#代码检测工具)   一.StyleCop是微软的一个开源的静态代码分析工具,检查c#代码一致性和编码风格. 二.下载地址   http://stylecop.codeplex.c ...

  3. python 代码检测工具

    对于我这种习惯了 Java 这种编译型语言,在使用 Python 这种动态语言的时候,发现错误经常只能在执行的时候发现,总感觉有点不放心. 而且有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导 ...

  4. Jenkins整合SonarQube代码检测工具

    借鉴博客:https://blog.csdn.net/kefengwang/article/details/54377055 上面这博客写得挺详细的,挺不错.它这个博客没有提供下载的教程,这个博客提供 ...

  5. c++代码检测工具

    cppcheck是一款静态代码检查工具,可以检查如内存泄漏等代码错误,使用起来比较简单,即提供GUI界面操作,也可以与VS开发工具结合使用. 1.安装 一般会提供免安装版,安装完成后将cppcheck ...

  6. 恶意代码检测工具 -- Mathematics Malware Detected Tools

    Mathematics Malware Detected Tools 重要:由于缺少测试数据,部分结论可能不正确.更多更准确的结论,还需要进行大量实验. 概述 mmdt(Mathematics Mal ...

  7. 阿里java代码检测工具p3c

    阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴 ...

  8. 关闭vue的eslint代码检测和WebStorm的代码检测

    1. 在vue项目中 bulid > webpack.base.conf.js 中: 如图,在rules规则中有一条规则是校验代码的,也就是红框2那行,要取消可以直接注释掉这行,或者把红框1的函 ...

  9. JS代码检查工具ESLint

    前面的话 ESLint是一个JavaScript代码静态检查工具,可以检查JavaScript的语法错误,提示潜在的bug,可以有效提高代码质量,维持前端团队高度一致的编码风格.ESLint不但提供一 ...

随机推荐

  1. Java知多少(3) 就业方向

    Java的就业前景如何,看培训班就知道了,以Java培训为主的达内,已经上市. 根据IDC的统计,在所有软件开发类人才的需求中,对JAVA工程师的需求曾达到全部需求量的50%以上.而且,JAVA工程师 ...

  2. Java知多少(69)面向字节的输入输出流

    字节流以字节为传输单位,用来读写8位的数据,除了能够处理纯文本文件之外,还能用来处理二进制文件的数据.InputStream类和OutputStream类是所有字节流的父类. InputStream类 ...

  3. 4G 通信模块在ARM 平台下的应用

    收藏 评论(0) 分享到 微博 QQ 微信 LinkedIn 4G模块是连接物与物的重要载体,是终端设备接入物联网的核心部件之一,随着4G的普及,许多新兴市场对4G通信模块的需求都在日益扩大,那么在A ...

  4. 创建预编译头 Debug 正常 Release Link Error:预编译头已存在,使用第一个 PCH

    创建预编译头 Debug 正常 Release Link Error Main.obj : error LNK2005: ___@@_PchSym_@00@UmfilkilqUdrmzkkUkilqU ...

  5. android基础---->SQLite数据库的使用

    SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...

  6. lsass 病毒手动清除方法

    病毒症状进程里面有2个lsass.exe进程,一个是system的,一个是当前用户名的(该进程为病毒).双击D:盘打不开,只能通过右击选择打开来打开.用kaspersky扫描可以扫描出来,并且可以杀掉 ...

  7. 使用jenkins pipeline,并发selenium测试 --- 你值得了解

    一.契机 相信很多使用selenium进行UI测试,再对接jenkins时,都是简单的在jenkins上将命令输入就完事了. 但是,相信你一定会遇到以下问题: 1.你需要同时跑不同文件或不同类的用例, ...

  8. 实用方法 - 解决360Doc文章不能复制的问题(实现不登录直接复制)

    问题: 有时搜索文章的时候看到一些有用的文字,或者在网上搜索一些文献资料,找到需要的部分后,通常都可以使用 Ctrl + C,或者右键复制下来.但有些网站,比如:360个人图书馆(360Doc)会强制 ...

  9. 【ReviewBoard】安装与配置

    0. 引言 环境:Ubuntu 14.04 Server(虚拟机) 这篇文章里说的是review board官方的安装方式,bitnami出了针对win/linux的集成安装包,用它可能简单点,没有尝 ...

  10. String对象的比较

    public class StringTest { /* * equals 和 ==的区别 * 如果类中没有重写equals(),那么默认比较也是内存地址 * ==在基本数据类型中比较的是值! * i ...