vue.js - ESlint nu funcționează pe fișierul .vue cu TypeScript


Am construit proiectul meu cu vue ui, acesta este package.json-ul meu

"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-plugin-typescript": "^4.1.0",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/eslint-config-typescript": "^4.0.0",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^6.0.1",
"typescript": "~3.5.3",

acesta este fișierul meu .eslintrc.js

module.exports = {
  root: true,
  env: {
    node: true
  },
  'extends': [
    'plugin:vue/essential',
    '@vue/standard',
    '@vue/typescript'
  ],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    "indent": ['error', 4]
  },
  parserOptions: {
    parser: '@typescript-eslint/parser'
  },
  overrides: [
    {
      files: [
        '**/__tests__/*.{j,t}s?(x)',
        '**/tests/unit/**/*.spec.{j,t}s?(x)'
      ],
      env: {
        jest: true
      }
    }
  ]
}

Și aceasta este setarea mea pentru Visual Studio Code, settings.json

{
  "eslint.alwaysShowStatus": true,
  "eslint.autoFixOnSave": true,
  "eslint.validate": [
      "javascript",
      "javascriptreact",
      { "language": "vue", "autoFix": true },
      { "language": "typescript", "autoFix": true },
      { "language": "typescriptreact", "autoFix": true }
  ]
}

funcționează bine pe fișierul .ts, dar nu și pe fișierul .vue (clasa fără niciun sfat eslint). deci ce ar trebui să fac pentru a-l repara, aveți vreo idee?

Răspuns #1

Cum rulezi eslint? În fișierul .eslintrc.json nu ai declarat eslint să citească fișiere .vue. Ar trebui să rulezi eslint cu flag-ul --ext. (eslint . --ext .vue)