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)