ESLint的基本用法

你离开我真会死。 提交于 2020-02-26 11:36:25

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 官网.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!