Cara membuat eslint menyelesaikan jalur yang dipetakan dalam jsconfig


9

Dalam proyek nextjs saya, saya telah memetakan jalan jsconfig.jsonuntuk membuat impor mutlak mudah

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["./*"]
    },
    "target": "es6",
    "module": "commonjs",
    "experimentalDecorators": true
  }
}

Jalur impor saya terlihat seperti ini import { VIEW } from '@/src/shared/constants';

eslintrc.jsPengaturan saya telah ditentukan sebagai

module.exports = {
    ... ,
    settings: {
        "import/resolver": {
          alias: {
            extensions: [".js"],
            map: ["@", "."]
          }
        }
      }
}

Saya masih mendapatkan pesan kesalahan yang mengatakan tidak dapat menyelesaikan "@ / apa / pernah / my / path /"

Bagaimana cara membuat eslint mewujudkan jalur jsconfig

Jawaban:


6

Saya menggunakan babel-eslint sebagai parser saya di eslintrc. Saat mencari, saya menyadari saya perlu menambahkan babel-plugin-module-resolverbabelrc untuk menyelesaikan modul. Dalam file ini kita dapat mendefinisikan jalur yang dipetakan yang ada di jsconfig kita.

Karenanya menambahkan plugin berikut dalam file babelrc berhasil mengkompilasi kode saya.

[
    "module-resolver",
    {
        "alias": {
          "@": "./"
        }
    }
]

0

Menurut dokumen untuk eslint-import-resolver-alias , mapproperti harus berupa array array, jadi coba ini:

module.exports = {
    ... ,
    settings: {
        "import/resolver": {
          alias: {
            extensions: [".js"],
            map: [ ["@", "."] ]
          }
        }
      }
}

Juga, periksa kembali apakah Anda benar-benar telah eslint-import-resolver-aliasmenginstal - mudah untuk dilupakan!


Plugin terinstal, saya mencoba melakukannya dengan array juga. Masih masalah yang sama, tidak bisa menyelesaikan jalan.
mdanishs
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.