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", 4, { "SwitchCase": 1 }],  
}

3、"quotes":強制使用一致的反勾號、雙引號或單引號

{
      // 強制使用單引號(double雙引號,backtick反勾號)
      "quotes": ["error", "single"],
}

4、semi:強制使用分號

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

5、no-console:禁用console

6、no-empty:禁止空語句塊

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

六、注意

1、在使用三點操作符時,要注意版本的區別,要么指定ecmaVersion為2018,要么不指定,否則,解析不通過。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM