eslint は、vue もあるプロジェクトの *.ts ファイルを JavaScript として扱います
P粉739706089
2023-09-02 19:59:50
<p>typescript と vue を使用して Web プロジェクトを開発しています。 typescript-eslint と eslint-plugin-vue のドキュメントを読んだ後、次の eslint 設定を解決しました。
<pre class="brush:php;toolbar:false;">module.exports = {
ルート: true、
環境: {
ブラウザ: true、
es2021: 本当、
}、
拡張します: [
"eslint: 推奨"、
"プラグイン:vue/vue3-essential"、
"プラグイン:@typescript-eslint/推奨"、
"plugin:@typescript-eslint/recommended-requiring-type-checking",
「もっときれいに」、
]、
パーサー: "vue-eslint-parser",
パーサーオプション: {
パーサー: "@typescript-eslint/parser",
プロジェクト: ["./tsconfig.json"]、
tsconfigRootDir: __ディレクトリ名,
extraFileExtensions: [".vue"]、
}、
オーバーライド: []、
パーサーオプション: {
ecmaVersion: "最新",
ソースタイプ: "モジュール"、
}、
プラグイン: ["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>
私の知る限り、選択肢は 2 つあります:
パーサー: "vue-eslint-parser"
を@typescript-eslint/parser
.ts ファイルのオーバーライドを追加し、パーサーを
に設定します。@typescript-eslint/parser
疲れすぎているのか、年をとりすぎているのでしょう。とにかく、問題は、同じ lint ファイル内に 2 つの
リーリーparserOptions
セクションがあることです。これが最終動作バージョンです: