ESLint 是一个插件化的代码检测工具,官方介绍如下:
The pluggable linting utility for JavaScript and JSX.
本文讲述一下ESLint的一些基本用法.
安装
1.全局安装
全局安装的 ESLint 能够用于所有的项目.
用 npm 进行安装:
npm install -g eslint
安装完成后通过以下命令设置配置文件:
eslint --init
在检测代码时运行以下命令:
eslint file.js
2.本地安装
将 ESLint 作为项目构建的一部分.
用 npm 进行安装:
npm install --save-dev eslint
设置配置文件:
./node_modules/.bin/eslint --init
在检测代码时运行以下命令:
./node_modules/.bin/eslint yourfile.js
注意:如果 ESLint 是全局安装的, 那它中间配置的插件也必须是全局安装的
当执行完 –init 后, 得到 .eslintrc 的配置文件, 文件中包含以下内容:
123456 | { "rules": { "semi": ["error", "always"], "quotes": ["error", "double"] }} |
rules 表示用户自定义的规则, 中间包含若干以键值对存在的配置选项, error 表示级别, 后面的为该选项的其他 option.
配置
Parser Options
通过该选项自定义支持的 ECMAScript 的其他版本.
ecmaVersion: ECMAScript 的版本,默认为 5. 可选的值: 3, 5, 6 ( 同 2015 ), 7 ( 同 2016 ), 8 ( 同 2017 ).
sourceType: 默认为 “script”, 若为 ECMAScript 模块则改为 “module”
ecmaFeatures: 表示要使用的额外的语言特性
示例:
1234567 | "parserOptions": { "ecmaVersion": 6, "sourceType": "module", "ecmaFeatures": { "jsx": true }} |
Parser
ESLint 默认的解析器为 Espree, 可指定为其他解析器.
与 ESLint 兼容的解析器:
- Esprima
- Babel-ESlint: 对 Babel 解析器的包装使其与 ESLint 兼容
示例:
大专栏 ESLint的基本用法 class="gutter">123 | { "parser": "babel-eslint"} |
Environments
指定了预定义的全局变量,常见的有 browser、node 等.
示例:
123456 | { "env": { "browser": true, "node": true }} |
Plugins
ESLint 支持第三方的插件,可通过 npm 进行安装.
示例:
123456 | { "plugins": [ "plugin1", "eslint-plugin-plugin2" ]} |
注: “eslint-plugin-“ 前缀可省略.
Rules
ESLint 中定义的一些规则,规则 ID 为以下这些值之一:
- “off” 或 0: 关闭规则
- “warn” 或 1: 开启规则,使用警告级别的错误 (不会导致程序退出)
- “error” 或 2: 开启规则,使用错误级别的错误 (程序会退出)
Inline Comments
在文件中使用注释来临时取消警告.
12345 | /* eslint-disable no-alert, no-console */// eslint-disable-line// eslint-disable-line no-alert... |
配置级联
ESLint 会根据离被检测文件最近的 .eslintrc 文件为准来检测,即首先查找当前目录的 .eslintrc 文件,如果没有则在父目录中查找,以此类推,直到查找到根目录.
忽视文件或目录
在项目根目录创建一个 .eslintignore 文件告诉 ESLint 去忽略特定的文件和目录.
ESLint总是忽略 /node_modules/ 和 /bower_components/ 中的文件
以上只是简单的介绍了 ESLint 的一些基本功能,具体请参照 ESLint 官网.
来源:https://www.cnblogs.com/liuzhongrong/p/12365621.html