eslint 将我的 *.ts 文件视为也有 vue 的项目中的 javascript
P粉739706089
2023-09-02 19:59:50
<p>我正在使用 typescript 和 vue 开发一个网络项目。在阅读了 typescript-eslint 和 eslint-plugin-vue 的文档后,我已经解决了以下 eslint 配置:</p>
<pre class="brush:php;toolbar:false;">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"],
};</pre>
<p>我的 vue 文件解析正确,但我的 ts 文件有不合理的 lint 错误。看来它们是针对 javascript 语法进行检查的。如下图所示:</p>
<p>如果我删除 <code>parserOptions</code> 并将解析器更改为 <code>@typescript-eslint/parser</code>,ts 文件会正确 lint,但 vue 文件的 lint 会中断。</p >
<p>有人知道吗?</p>
据我所知,您有两个选择:
将
解析器:“vue-eslint-parser”
更改为@typescript-eslint/parser
为 .ts 文件添加覆盖,并将解析器设置为
@typescript-eslint/parser
我想我太累了或者太老了,无论如何,问题在于同一个 lint 文件中有两个
parserOptions
部分。这是最终的工作版本: