Як зробити шляхи вирішення програми eslint, відображені у jsconfig


9

У своєму проекті nextjs я склав карту, jsconfig.jsonщоб зробити легкий абсолютний імпорт

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

Мої шляхи імпорту виглядають приблизно так import { VIEW } from '@/src/shared/constants';

У моїх eslintrc.jsналаштуваннях вказано як

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

Я все ще отримую помилку, мовляв, не можу вирішити "@ / що / колись / мій / шлях / є"

Як змусити eslint усвідомити шлях jsconfig

Відповіді:


6

Я використовував babel-eslint як мій аналізатор у eslintrc. Під час пошуку я зрозумів, що потрібно додати babel-plugin-module-resolverв babelrc для вирішення модулів. У цьому файлі ми можемо визначити наші зіставлені контури, які є в нашій jsconfig.

Отже, додавши наступний плагін у файл babelrc, мій код успішно склав.

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

0

Згідно з документами для eslint-import-resolutionver-alias , mapвластивість має бути масивом масивів, тому спробуйте це:

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

Також двічі перевірте, що ви насправді eslint-import-resolver-aliasвстановили - це легко забути!


Плагін встановлений, я також намагався це робити з масивом. Все ж та сама проблема, вона не може вирішити шлях.
mdanishs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.