Сглаживание путей Eslint typescript — не удается разрешить путь к модулю

#reactjs #eslint #tsconfig #react-tsx #typescript-eslint

#reactjs #eslint #tsconfig #реагировать-tsx #typescript-eslint

Вопрос:

Я добавляю конфигурацию typescript для путей:

 {
 //.....

 "moduleResolution": "node",
{
  "baseUrl": "app",
  "paths": {
  "@app/*": ["*"],
  "@folder/*": ["folder/*"],

  //Other paths
},
 

}

Добавлена конфигурация в webpack:

   resolve: {
  extensions: [".tsx", ".ts", ".js", ".jsx", ".css", ".json"],
  alias: {
    "@app":path.resolve(__dirname   "../", "app"),
    "@services":path.resolve(__dirname   "../app", "folder")
  },
  modules: [
    "node_modules", path.resolve(process.cwd(), "app")
  ],
  plugins: [
    new TsConfigPathsPlugin({
      configFile: "../tsconfig.json"
    }),
  ],
},
 

И вот мой файл .eslint:

 "settings": {
"import/resolver": {
  "node": {
    "paths": [
      "app"
    ],
    "extensions": [
      ".ts",
      ".tsx",
      ".jest.tsx",
      ".d.ts"
    ]
  }
}
 

После этого я пытаюсь импортировать что-то вроде этого:

 import {component} from "@folder/component";
 

Все собрано, компилятор не генерирует ошибок
Но я получаю ошибку в eslint:

ESLint: не удается разрешить путь к модулю «@folder /component». (импорт / неразрешенный)

Я пытаюсь разобраться в этом уже третий день, клиент не хочет устанавливать дополнительные плагины, я был бы очень благодарен за вашу помощь!

Ответ №1:

node распознаватель не понимает TypeScript paths . Поэтому он специально ищет вызываемый модуль узла @folder/component , который не будет существовать.

Вы можете использовать распознаватель машинописи для плагина: https://www.npmjs.com/package/eslint-import-resolver-typescript

Комментарии:

1. Спасибо, это работает для меня 🙂