ESlint不适用于带有打字稿的.vue文件

时间:2019-12-13 10:14:12

标签: typescript vue.js eslint

我用vue ui构建了项目,这是我的package.json

"@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",

这是我的.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
      }
    }
  ]
}

这是我的Visual Studio代码设置settings.json

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

它在.ts文件上可以正常工作,但在.vue文件上却不能正常工作(类没有任何eslint提示)。那么,有什么想法我应该怎么解决呢?

1 个答案:

答案 0 :(得分:0)

您如何经营eslint?在.eslintrc.json文件中,您未声明eslint读取.vue文件。您应该使用--ext标志运行eslint。 (eslnit。--ext .vue)