Rumah  >  Soal Jawab  >  teks badan

eslint memperlakukan fail *.ts saya sebagai javascript dalam projek yang juga mempunyai vue

<p>Saya sedang membangunkan projek web menggunakan skrip taip dan vue. Selepas membaca dokumentasi untuk typescript-eslint dan eslint-plugin-vue, saya telah menyelesaikan konfigurasi eslint berikut: </p> <pre class="brush:php;toolbar:false;">module.exports = { akar: benar, env: { pelayar: benar, es2021: benar, }, memanjangkan: [ "eslint:disyorkan", "plugin:vue/vue3-essential", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", "lebih cantik", ], penghurai: "vue-eslint-parser", parserOptions: { penghurai: "@typescript-eslint/parser", projek: ["./tsconfig.json"], tsconfigRootDir: __dirname, extraFileExtensions: [".vue"], }, mengatasi: [], parserOptions: { ecmaVersion: "terkini", Jenis sumber: "modul", }, pemalam: ["vue", "@typescript-eslint"], };</pre> <p>Fail vue saya dihuraikan dengan betul, tetapi fail ts saya mempunyai ralat lint yang tidak munasabah. Nampaknya mereka disemak terhadap sintaks javascript. Seperti yang ditunjukkan di bawah:</p> <p>Jika saya mengalih keluar <code>parserOptions</code> dan menukar parser kepada <code>@typescript-eslint/parser</code>, fail ts lint dengan betul, tetapi lint fail vue rosak . </p> <p>Ada sesiapa tahu? </p>
P粉739706089P粉739706089383 hari yang lalu410

membalas semua(2)saya akan balas

  • P粉236743689

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

    Setahu saya, anda ada dua pilihan:

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

    2. Tambah override untuk fail .ts dan tetapkan parser kepada @typescript-eslint/parser

    balas
    0
  • P粉038856725

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

    Saya rasa saya terlalu letih atau terlalu tua, bagaimanapun, masalahnya ialah terdapat dua bahagian parserOptions dalam fail lint yang sama. Ini ialah versi kerja terakhir:

    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"],
    };
    

    balas
    0
  • Batalbalas