为什么在 vuejs 应用程序中没有禁用 vuejs 应用程序中的 prefer-const 规则?

Why in vuejs app prefer-const rule in vuejs app is not disabled?

在@vue/cli 应用程序中出现错误 eslint 错误:

  117:11  error  'resArray' is never reassigned. Use 'const' instead     prefer-const
  
  pointing at line :
      let resArray = []
  

我通过在 package.json 中添加规则 prefer-const = 0 来禁用此错误:

{
  "name": "yt3",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.20.0-0",
    "core-js": "^3.6.5",
    "mitt": "^2.1.0",
    "moment-timezone": "^0.5.31",
    "node-sass": "^4.12.0",
    "sass-loader": "^10.0.4",
    "vee-validate": "^3.1.0",
    "vue": "^3.0.0",
    "vue-router": "^4.0.0-rc.1",
    "vuex": "^4.0.0-rc.1"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.0",
    "@vue/eslint-config-standard": "^5.1.2",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^7.0.0-0"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {
      "semi": [
        2,
        "never"
      ],
      "promise/param-names": [
        0
      ],
      "dot-notation": [
        0
      ],
      "no-trailing-spaces": [
        0
      ],
      "prefer-const": [
        0
      ]
    }
  }
}

和运行命令:

yarn run serve

我预计最后一个值为 0 的条件将禁用此错误,但失败了。 哪个语法有效?

我有文件:.eslintrc.js 行:

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: [
    'plugin:vue/vue3-essential',
    '@vue/standard'
  ],
  parserOptions: {
    parser: 'babel-eslint'
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
  }
}

我需要编辑吗?它是如何工作的?

谢谢!

如果您已经有一个 .eslintrc.js 文件,我建议您将所有 eslint 配置移到那里,以防止与 package.json 文件发生任何冲突。

您应该能够将 'prefer-const': 'off' 添加到您的 rules 以禁用该错误。

尽管如果您仅使用 resArray 进行数组操作,例如.push().pop().splice() 等并且不会重新分配值,例如 resArray = [] 那么您可以使用 const resArray = [] 而无需删除 prefer-const规则。