ESlint配置

// .eslintrc.js
module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/vue3-essential',
    '@vue/standard'
  ],
  parserOptions: {
    parser: '@babel/eslint-parser'
  },
  /**
   * "off" -> 0 关闭规则
    "warn" -> 1 开启警告规则
    "error" -> 2 开启错误规则
   */
  rules: {
    // 这些规则与 JavaScript 代码中可能的错误或逻辑错误有关: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 构造函数中存在无效的正则表达式字符串
    'no-irregular-whitespace': 2, // 禁止不规则的空白
    'no-regex-spaces': 2, // 禁止正则表达式字面量中出现多个空格
    // 这些规则是关于最佳实践的,帮助你避免一些问题: Best Practice
    'default-case': 2, // 要求 switch 语句中有 default 分支
    eqeqeq: 2, // 要求使用 === 和 !==
    'no-empty-function': 2, // 禁止出现空函数
    'no-empty-pattern': 2, // 禁止使用空解构模式
    'no-implicit-globals': 2, // 禁止在全局范围内使用变量声明和 function 声明
    'no-lone-blocks': 2, // 禁用不必要的嵌套块
    'no-multi-spaces': 2, // 禁止使用多个空格
    'no-new-func': 2, // 禁止对 Function 对象使用 new 操作符
    'no-new-wrappers': 2, // 禁止对 String,Number 和 Boolean 使用 new 操作符
    'no-redeclare': 2, // 禁止多次声明同一变量
    'no-useless-catch': 2, // 禁止不必要的 catch 子句
    'no-useless-return': 2, // 禁止多余的 return 语句
    'require-await': 2, // 禁止使用不带 await 表达式的 async 函数
    // 这些规则与变量声明有关:Variables
    'init-declarations': 2, // 要求或禁止 var 声明中的初始化
    'no-label-var': 2, // 不允许标签与变量同名
    'no-shadow': 2, // 禁止变量声明与外层作用域的变量同名
    'no-unused-vars': 2, // 禁止出现未使用过的变量
    'no-use-before-define': 2, // 禁止在变量定义之前使用它们
    // 这些规则是关于风格指南的,而且是非常主观的:Stylistic Issues
    // 'array-bracket-newline': 2, // 在数组开括号后和闭括号前强制换行
    // 'array-bracket-spacing': 2, // 强制数组方括号中使用一致的空格
    // 'array-element-newline': 2, // 强制数组元素间出现换行
    'block-spacing': 2, // 禁止或强制在代码块中开括号前和闭括号后有空格
    'brace-style': 2, // 强制在代码块中使用一致的大括号风格
    camelcase: 2, // 强制使用骆驼拼写法命名约定
    'comma-spacing': 2, // 强制在逗号前后使用一致的空格
    'comma-style': 2, // 强制使用一致的逗号风格
    'computed-property-spacing': 2, // 强制在计算的属性的方括号中使用一致的空格
    'eol-last': 2, // 要求或禁止文件末尾存在空行
    'func-call-spacing': 2, // 要求或禁止在函数标识符和其调用之间有空格
    'jsx-quotes': 2, // 强制在 JSX 属性中一致地使用双引号或单引号
    'key-spacing': 2, // 强制在对象字面量的属性中键和值之间使用一致的间距
    indent: [2, 2], // 缩进2个空格
    quotes: [2, 'single'], // 使用单引号
    'no-mixed-spaces-and-tabs': [2], // 禁止空格和 tab 的混合缩进
    'no-extra-semi': [2], // 禁止不必要的分号
    'comma-dangle': [2, 'never'], // 禁止末尾逗号
    'no-plusplus': 2, // 禁用一元操作符 ++ 和 --
    'no-trailing-spaces': 2, // 禁用行尾空格
    'object-curly-newline': 2, // 强制大括号内换行符的一致性
    'semi-spacing': 2, // 强制分号之前和之后使用一致的空格
    'space-before-function-paren': 0, // 强制在 function的左括号之前使用一致的空格
    'space-in-parens': 2, // 强制在圆括号内使用一致的空格
    'switch-colon-spacing': 2, // 强制在 switch 的冒号左右有空格
    'space-unary-ops': 2, // 强制在一元操作符前后使用一致的空格
    // 这些规则只与 ES6 有关, 即通常所说的 ES2015:
    'arrow-spacing': 2, // 强制箭头函数的箭头前后使用一致的空格
    'no-const-assign': 2, // 禁止修改 const 声明的变量
    'no-var': 2, // 要求使用 let 或 const 而不是 var
    'prefer-arrow-callback': 2, // 要求回调函数使用箭头函数
    'prefer-const': 2, // 要求使用 const 声明那些声明后不再被修改的变量
    'prefer-destructuring': 2, // 优先使用数组和对象解构
    'prefer-rest-params': 2, // 要求使用剩余参数而不是 arguments
    'vue/multi-word-component-names': 0
  }
}

你可能感兴趣的:(ESlint配置)