Vue 3 на Vite.js с Eslint — невозможно разрешить путь к модулю eslint (импорт/без разрешения)

Я использую Vue 3 на Vite.js с конфигурацией Eslint + Airbnb. В конфиге Airbnb есть правило eslint(import/no-unresolved), что хорошо, но Эслинт не знает, как разрешить псевдоним пути.

Я хочу использовать псевдонимы для путей — пример: import TableComponent from '@/components/table/TableComponent.vue'˙

Мне удалось настроить vite.config.js, чтобы приложение могло разрешать такие пути:

import path from 'path';
import { defineConfig } from 'vite';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: [{
        find: "@", replacement: path.resolve(__dirname, 'src')
      },],
  },
});

Приложение Vue работает так и правильно разрешает путь импорта, но Eslint продолжает сообщать об ошибке: Unable to resolve path to module eslint(import/no-unresolved)

Как и где я могу указать Eslint, как разрешать псевдонимы?

Я пробовал: install eslint-plugin-import eslint-import-resolver-alias --save-dev

// .eslintrc.js

// ...
extends: [
    'eslint:recommended',
    'plugin:import/recommended',
    'airbnb-base',
    'plugin:vue/vue3-strongly-recommended',
],

settings: {
    'import/resolver': {
      alias: {
        map: [
          ['@', 'src'],
        ],
      },
    },
  },

Но это не работает.


person Delicious Bacon    schedule 04.06.2021    source источник


Ответы (2)


Если кто-то столкнется с этой проблемой, это работает в моем случае *:

settings: {
    'import/resolver': {
      alias: {
        map: [
          ['@', './src'],
        ],
      },
    },
  },

* В моем случае корень Vue — это каталог «src», а у Eslint — на один уровень выше, поэтому ему нужен путь «./src».

Огромное спасибо @https://github.com/aladdin-add за ответ через вопрос github!

person Delicious Bacon    schedule 05.06.2021

У меня была та же проблема, и даже я исправил путь src, но проблема все еще не устранена. Это не сработало, пока я не добавил расширения:

  "settings": {
    "import/resolver": {
      "alias": {
        "map": [
          ["@", "./src"]
        ],

        "extensions": [".js",".jsx"] <--- HERE
      }
    }
  },
person bukso    schedule 09.07.2021