ESLint学习小记

一、关于配置文件,优先级从上到下:

  1. eslintrc.js
  2. .eslintrc.yaml
  3. .eslintrc.yml
  4. .eslintrc.json
  5. .eslintrc
  6. package.json

在官方文档中,.eslintrc已经被弃用,推荐使用.eslintrc.js。

二、解析器:

官方默认解析器为espree,如需要指定解析器,则需要在配置parser选项,在官方推荐的解析器中与ESLint兼容的有:

  1. Esprima
  2. Babel-Eslint
  3. Typescript-eslint-parser
// 指定解析器
{
"parser": "babel-eslint"
}

三、extends属性

extends 顾名思义,继承,可以继承别的规则配置文件。

可共享的配置是一个npm包,extends属性值可以省略包名的前缀:eslint-config-。

  • eslint:recommended,官方推荐的规则,例:"extends": "eslint:recommended"
  • eslint-config-standard,一个流行的风格指南。

四、plugins属性

插件用来自定义规则,是一个npm包,在引入的时候,可以省略前缀:eslint-plugin-。

五、常用规则:

  • 关闭规则:off 或 0
  • 开启规则,警告:warn 或 1
  • 开启规则,错误:error 或 2

1、"space-before-function-paren":强制在 function的左括号之前使用一致的空格

{
// 统一设置,总是有空格
"space-before-function-paren": ["error", "always"],
// or
"space-before-function-paren": ["error", {
"anonymous": "never", // 匿名函数,禁止有空格
"named": "always", // 命名函数,必须有空格
"asyncArrow": "always" // 箭头函数,必须有空格
}],
}

2、"indent":强制使用一致的缩进

{
// 缩进,4个空格,switch case语句缩进级别
"indent": ["error", , { "SwitchCase": }],
}

3、"quotes":强制使用一致的反勾号、双引号或单引号

{
// 强制使用单引号(double双引号,backtick反勾号)
"quotes": ["error", "single"],
}

4、semi:强制使用分号

{
"semi": ["error", "always"],
}

5、no-console:禁用console

6、no-empty:禁止空语句块

7、eqeqeq:要求使用===和!==

六、注意

1、在使用三点操作符时,要注意版本的区别,要么指定ecmaVersion为2018,要么不指定,否则,解析不通过。

上一篇:入门视频采集与处理(BT656简介)


下一篇:Navicat导出mysql的DDL