ESlint配置

// .eslintrc.js
module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/vue3-essential',
    '@vue/standard'
  ],
  parserOptions: {
    parser: '@babel/eslint-parser'
  },
  /**
   * "off" -> 0 關(guān)閉規(guī)則
    "warn" -> 1 開啟警告規(guī)則
    "error" -> 2 開啟錯(cuò)誤規(guī)則
   */
  rules: {
    // 這些規(guī)則與 JavaScript 代碼中可能的錯(cuò)誤或邏輯錯(cuò)誤有關(guān):Possible Errors
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-invalid-regexp': 2, // 禁止 RegExp 構(gòu)造函數(shù)中存在無效的正則表達(dá)式字符串
    'no-irregular-whitespace': 2, // 禁止不規(guī)則的空白
    'no-regex-spaces': 2, // 禁止正則表達(dá)式字面量中出現(xiàn)多個(gè)空格
    // 這些規(guī)則是關(guān)于最佳實(shí)踐的,幫助你避免一些問題: Best Practice
    'default-case': 2, // 要求 switch 語句中有 default 分支
    eqeqeq: 2, // 要求使用 === 和 !==
    'no-empty-function': 2, // 禁止出現(xiàn)空函數(shù)
    'no-empty-pattern': 2, // 禁止使用空解構(gòu)模式
    'no-implicit-globals': 2, // 禁止在全局范圍內(nèi)使用變量聲明和 function 聲明
    'no-lone-blocks': 2, // 禁用不必要的嵌套塊
    'no-multi-spaces': 2, // 禁止使用多個(gè)空格
    'no-new-func': 2, // 禁止對(duì) Function 對(duì)象使用 new 操作符
    'no-new-wrappers': 2, // 禁止對(duì) String,Number 和 Boolean 使用 new 操作符
    'no-redeclare': 2, // 禁止多次聲明同一變量
    'no-useless-catch': 2, // 禁止不必要的 catch 子句
    'no-useless-return': 2, // 禁止多余的 return 語句
    'require-await': 2, // 禁止使用不帶 await 表達(dá)式的 async 函數(shù)
    // 這些規(guī)則與變量聲明有關(guān):Variables
    'init-declarations': 2, // 要求或禁止 var 聲明中的初始化
    'no-label-var': 2, // 不允許標(biāo)簽與變量同名
    'no-shadow': 2, // 禁止變量聲明與外層作用域的變量同名
    'no-unused-vars': 2, // 禁止出現(xiàn)未使用過的變量
    'no-use-before-define': 2, // 禁止在變量定義之前使用它們
    // 這些規(guī)則是關(guān)于風(fēng)格指南的,而且是非常主觀的:Stylistic Issues
    // 'array-bracket-newline': 2, // 在數(shù)組開括號(hào)后和閉括號(hào)前強(qiáng)制換行
    // 'array-bracket-spacing': 2, // 強(qiáng)制數(shù)組方括號(hào)中使用一致的空格
    // 'array-element-newline': 2, // 強(qiáng)制數(shù)組元素間出現(xiàn)換行
    'block-spacing': 2, // 禁止或強(qiáng)制在代碼塊中開括號(hào)前和閉括號(hào)后有空格
    'brace-style': 2, // 強(qiáng)制在代碼塊中使用一致的大括號(hào)風(fēng)格
    camelcase: 2, // 強(qiáng)制使用駱駝拼寫法命名約定
    'comma-spacing': 2, // 強(qiáng)制在逗號(hào)前后使用一致的空格
    'comma-style': 2, // 強(qiáng)制使用一致的逗號(hào)風(fēng)格
    'computed-property-spacing': 2, // 強(qiáng)制在計(jì)算的屬性的方括號(hào)中使用一致的空格
    'eol-last': 2, // 要求或禁止文件末尾存在空行
    'func-call-spacing': 2, // 要求或禁止在函數(shù)標(biāo)識(shí)符和其調(diào)用之間有空格
    'jsx-quotes': 2, // 強(qiáng)制在 JSX 屬性中一致地使用雙引號(hào)或單引號(hào)
    'key-spacing': 2, // 強(qiáng)制在對(duì)象字面量的屬性中鍵和值之間使用一致的間距
    indent: [2, 2], // 縮進(jìn)2個(gè)空格
    quotes: [2, 'single'], // 使用單引號(hào)
    'no-mixed-spaces-and-tabs': [2], // 禁止空格和 tab 的混合縮進(jìn)
    'no-extra-semi': [2], // 禁止不必要的分號(hào)
    'comma-dangle': [2, 'never'], // 禁止末尾逗號(hào)
    'no-plusplus': 2, // 禁用一元操作符 ++ 和 --
    'no-trailing-spaces': 2, // 禁用行尾空格
    'object-curly-newline': 2, // 強(qiáng)制大括號(hào)內(nèi)換行符的一致性
    'semi-spacing': 2, // 強(qiáng)制分號(hào)之前和之后使用一致的空格
    'space-before-function-paren': 0, // 強(qiáng)制在 function的左括號(hào)之前使用一致的空格
    'space-in-parens': 2, // 強(qiáng)制在圓括號(hào)內(nèi)使用一致的空格
    'switch-colon-spacing': 2, // 強(qiáng)制在 switch 的冒號(hào)左右有空格
    'space-unary-ops': 2, // 強(qiáng)制在一元操作符前后使用一致的空格
    // 這些規(guī)則只與 ES6 有關(guān), 即通常所說的 ES2015:
    'arrow-spacing': 2, // 強(qiáng)制箭頭函數(shù)的箭頭前后使用一致的空格
    'no-const-assign': 2, // 禁止修改 const 聲明的變量
    'no-var': 2, // 要求使用 let 或 const 而不是 var
    'prefer-arrow-callback': 2, // 要求回調(diào)函數(shù)使用箭頭函數(shù)
    'prefer-const': 2, // 要求使用 const 聲明那些聲明后不再被修改的變量
    'prefer-destructuring': 2, // 優(yōu)先使用數(shù)組和對(duì)象解構(gòu)
    'prefer-rest-params': 2, // 要求使用剩余參數(shù)而不是 arguments
    'vue/multi-word-component-names': 0
  }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容