1️⃣ ESLint

ESLint是一个针对JS的代码风格检查工具,当不满足其要求的风格时,会给予警告或错误
官网:https://eslint.org/
民间中文网:https://eslint.bootcss.com/

1️⃣ 使用

ESLint通常配合编辑器使用
在vscode中安装ESLint

  1. 1. 该工具会自动检查工程中的JS文件
  2. 2. 检查的工作交给`eslint`库,如果当前工程没有,则会去全局库中查找,如果都没有,则无法完成检查
  3. 3. 另外,检查的依据是`eslint`的配置文件`.eslintrc`,如果找不到工程中的配置文件,也无法完成检查

安装eslint

  1. 1. `npm i [-g] eslint`
  2. 1. 安装 eslint 后一般会自动创建配置文件, 文件内容是安装时选择的配置

创建配置文件

  1. 1. 可以通过`eslint`交互式命令创建配置文件

由于windows环境中git窗口对交互式命名支持不是很好,建议使用powershell

npx eslint --init

eslint 会识别工程中的.eslintrc.*文件,也能够识别package.json中的eslintConfig字段

1️⃣ 配置

2️⃣ env

配置代码的运行环境

  1. 1. browser:代码是否在浏览器环境中运行
  2. 2. es6:是否启用ES6的全局API,例如 `Promise`

2️⃣ parserOptions

该配置指定eslint对哪些语法的支持

  1. 1. ecmaVersion: 支持的ES语法版本
  2. 2. sourceType
  3. 1. script:传统脚本
  4. 2. module:模块化脚本

2️⃣ parser

eslint的工作原理是先将代码进行解析,然后按照规则进行分析
eslint 默认使用Espree作为其解析器,你可以在配置文件中指定一个不同的解析器。

2️⃣ globals

配置可以使用的额外的全局变量

  1. {
  2. "globals": {
  3. "var1": "readonly",
  4. "var2": "writable"
  5. }
  6. }
  7. eslint支持注释形式的配置,在代码中使用下面的注释也可以完成配置
  8. /* global var1, var2 */
  9. /* global var3:writable, var4:writable */

2️⃣ extends

该配置继承自哪里
它的值可以是字符串或者数组
比如:

  1. {
  2. "extends": "eslint:recommended"
  3. }

表示,该配置缺失的位置,使用eslint推荐的规则

2️⃣ ignoreFiles

排除掉某些不需要验证的文件
创建 .eslintignore 文件配置

  1. dist/**/*.js
  2. node_modules

2️⃣ rules

eslint规则集
每条规则影响某个方面的代码风格
每条规则都有下面几个取值:

  1. 1. off 0 false: 关闭该规则的检查
  2. 2. warn 1 true:警告,不会导致程序退出
  3. 3. error 2:错误,当被触发的时候,程序会退出

除了在配置文件中使用规则外,还可以在注释中使用:

  1. /* eslint eqeqeq: "off", curly: "error" */

https://eslint.bootcss.