简介
ESLint是干什么的?官网的第一句话是“Find and fix problems in your JavaScript code”,即“查找并确定你的JavaScript代码中的问题”。
查找问题
ESLint通过静态分析代码以快速查找问题。ESLint内置于大多数文本编辑器中并且您可以将其作为持续集成解决方案的一部分。
自动确定
ESLint可以自动确定大多数问题。ESLint通过语法感知来确定,因此你不会遇到由传统的查找替换算法所引入的错误。
灵活的自定义
ESLint通过自定义解析器,自定义规则和内置规则来预处理代码。你可以按照项目实际所需来自定义ESLint。
开始使用ESLint
ESLint是一个用于识别和报告ECMAScript/JavaScript代码中的模式的工具,其目标是使代码更加一致并避免bug。在许多方面,它与JSLint和JSHint相似,但有几个例外:
- ESLint使用Espree进行JavaScript解析。
- ESLint使用AST(抽象语法树)来评估代码中的模式。
- ESLint是完全可插入的,每个规则都是一个插件,您可以在运行时添加更多。
安装和使用
安装环境:Node.js (^10.12.0 或 >=12.0.0),支持SSL构建。(如果你安装的是官方的Node.js,SSL始终包含)
可以通过 npm 或 yarn 进行安装ESLint:
1 npm install eslint --save-dev 2 3 # or 4 5 yarn add eslint --dev
同时,你应该设置一个配置文件,通过 -- init 标识符可以很容易的完成天津爱配置文件:
1 $ npx eslint --init 2 3 # or 4 5 $ yarn run eslint --init
注意: 使用 -- init 标识符前,您必须保证 package.json 文件已经存在。如果不存在,请先运行 npm init 或 yarn init 命令。然后,你就可以运行ESLint在任何文件或文件夹上。
1 $ npx eslint yourfile.js 2 3 # or 4 5 $ yarn run eslint yourfile.js
你也可以进行全局安装(通过 npm install eslint --global 命令全局安装)。但是并不建议全局安装,因为很多使用的插件或者可共享的配置都是安装在本地的。
配置
在运行 eslint --init 命令后,会生成一个 .eslintrc.{js,yml,json} 在你的文件下。在这个文件中,你可以看到如下的一些规则:
1 { 2 "rules": { 3 "semi": ["error", "always"], 4 "quotes": ["error", "double"] 5 } 6 }
"semi" 和 "quotes" 均为ESLint规则中的名称,第一个值为规则中的错误等级,可以为如下值:
- "off" 或 0 表示关闭错误验证规则
- "warn" 或 1 表示开启错误验证为警告级别(不影响退出代码)
- "error" 或 2 表示开启错误验证为错误级别(当存在警告的时候,会导致代码退出
这三个错误级别允许你细粒度地控制ESLint如何应用规则,(更多配置选项和详细信息,请参见配置文档)。
你的 .eslintrc.{js,yml,json} 文件同时会包含如下行:
1 { 2 "extends": "eslint:recommended" 3 }
由于有了这一行,规则页面上标记为“✔”的所有规则都将打开。另外,你也可以搜索使用其他人发布在npmjs.com的“eslint-config”配置。ESLint不会检测你的代码,除非你从共享配置中扩展或者在你的配置中显式地打开规则。