【原创】Eslint 详解

env

    env: {
        browser: true,
        commonjs: true,
        es2021: true,
        jquery: true
    },

Eslint 不允许使用未在页面上声明的变量,例如:
console.log(a); // a 未定义
在开发中会遇到一些环境自带的 API,例如 window__dirname 等。所以告诉 eslint,当前代码是运行在哪些环境中,这样即便不声明变量也不会提示报错了。

extends

配置 eslint 检查时使用的规范。

  extends: [
        'standard'
    ],

此处的 standard 是执行 stardard 规范,即 eslint-config-standard 包中所带的规范,此处的值其实是省略了eslint-config-,直接写成 standard 即可。例如它允许使用未声明的变量。
如果是:

  extends: [
        'eslint:all'
    ],

则是校验 eslint 中的每条规范。一般不会使用这个规范,推荐使用:

  extends: [
        'eslint:recommended'
    ],

globals

定义全局变量。
例如默认情况下 $ 是不可以使用的,可以使用 globals 定义全局变量。

    globals: {
        $: true
    },

这样就可以在代码里面直接使用 $ 了,例如: console.log($);
其中,$: true 是$可读写的,如果$: false,只可以读,不可以修改,如果$ = 1; 是会报错的。

parserOptions

解析代码时,指定使用哪个版本的 JS。

注意:这里指定按照哪个版本的 JS 进行检查,但不包含全局变量,全局变量通过前面的 env 节点配置。

rules

rules 有两种用法:

  • 不使用 extends 中配置的整套规范,而是在 rules 中直接配置。
  • 使用 extends 中配置的整套规范,在 rules 中修改部分规范的配置。

eslint 检查语法的规则

检查语法规范的本质就是 函数
eslint 内置 285 个规则,每条规则都是一个 create 函数。
在进行语法检查时,会将代码传入这些函数进行检查。
node_modules/eslint/lib/rules 查看。

语法规范包类型

内置规范包

  • eslint-all 280 多个规则。
  • eslint-recommended 推荐的 50 多个规则。
    在 node_modules/eslint/conf/eslint-all.js eslint-recommended.js 中。

    标准规范包(standard 需要下载)

    可以在创建 eslint 配置文件时,选择 standard。
    也可以手动安装,安装步骤:

  • 下载包:npm i eslint-config-standard -D
  • 降低 eslint 版本 npm i eslint@7.32.0 (standard 依赖低版本的 eslint)
  • 修改 eslint 配置文件中的 es 版本。
    parserOptions: {
        ecmaVersion: 13=====>12
    },

第三方规范包

  • google
  • airbnb (eslint-config-airbnb-base) 规则很多
  • facebook
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注