Heim  >  Fragen und Antworten  >  Hauptteil

eslint behandelt meine *.ts-Dateien als Javascript in einem Projekt, das auch Vue hat

<p>Ich entwickle ein Webprojekt mit Typescript und Vue. Nachdem ich die Dokumentation für typescript-eslint und eslint-plugin-vue gelesen habe, habe ich die folgende eslint-Konfiguration gelöst: </p> <pre class="brush:php;toolbar:false;">module.exports = { Wurzel: wahr, Umgebung: { Browser: wahr, es2021: wahr, }, erweitert: [ "eslint:empfohlen", "plugin:vue/vue3-essential", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", „hübscher“, ], Parser: "vue-eslint-parser", parserOptions: { Parser: "@typescript-eslint/parser", Projekt: ["./tsconfig.json"], tsconfigRootDir: __dirname, extraFileExtensions: [".vue"], }, überschreibt: [], parserOptions: { ecmaVersion: "neueste", Quelltyp: "Modul", }, Plugins: ["vue", "@typescript-eslint"], };</pre> <p>Meine Vue-Dateien werden korrekt analysiert, aber meine TS-Dateien weisen unzumutbare Lint-Fehler auf. Es scheint, dass sie anhand der Javascript-Syntax überprüft werden. Wie unten gezeigt: </p> <p>Wenn ich <code>parserOptions</code> entferne und den Parser in <code>@typescript-eslint/parser</code> ändere, werden die Lints der TS-Datei korrekt angezeigt, aber die Lints der Vue-Datei werden unterbrochen . </p > <p>Weiß es jemand? </p>
P粉739706089P粉739706089383 Tage vor411

Antworte allen(2)Ich werde antworten

  • P粉236743689

    P粉2367436892023-09-03 13:09:12

    据我所知,您有两个选择:

    1. 解析器:“vue-eslint-parser”更改为@typescript-eslint/parser

    2. 为 .ts 文件添加覆盖,并将解析器设置为 @typescript-eslint/parser

    Antwort
    0
  • P粉038856725

    P粉0388567252023-09-03 00:38:58

    我想我太累了或者太老了,无论如何,问题在于同一个 lint 文件中有两个 parserOptions 部分。这是最终的工作版本:

    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"],
        ecmaVersion: "latest",
        sourceType: "module",
        extraFileExtensions: [".vue"],
      },
    //  parserOptions: {
    //    ecmaVersion: "latest",
    //    sourceType: "module",
    //  },
      plugins: ["vue", "@typescript-eslint"],
    };
    

    Antwort
    0
  • StornierenAntwort