我正在用typescript和vue做一个web项目。在阅读了typescript-eslint和eslint-plugin-vue的文档后,我决定使用以下eslint配置:
module.exports = {
root: true,
env: {
browser: true,
es2021: true,
},
extends: [
"eslint:recommended",
"plugin:vue/vue3-essential",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"prettier",
],
parser: "vue-eslint-parser",
parserOptions: {
parser: "@typescript-eslint/parser",
project: ["./tsconfig.json"],
tsconfigRootDir: __dirname,
extraFileExtensions: [".vue"],
},
overrides: [],
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
plugins: ["vue", "@typescript-eslint"],
};
我的vue文件被正确解析,但我的ts文件有不合理的lint错误。看起来它们是针对javascript语法的lint。如下图所示:
如果我删除parserOptions
并将解析器更改为@typescript-eslint/parser
,则ts文件的lint是正确的,但lint for vue文件会中断。
有谁有线索吗?
2条答案
按热度按时间ldfqzlk81#
在我看来你有两个选择:
1.将
parser: "vue-eslint-parser"
更改为@typescript-eslint/parser
1.为.ts文件添加覆盖,并将解析器设置为
@typescript-eslint/parser
nvbavucw2#
我想我太累了或者太老了,不管怎样,问题是在同一个lint文件中有两个
parserOptions
部分。下面是最终的工作版本: