Как использовать абсолютный импорт в Гэтсби с Eslint? - PullRequest
1 голос
/ 28 апреля 2020

Я использую пакет gatsby-plugin- root -import в Gatbsy для абсолютного импорта. Абсолютный импорт работает, но Eslint выдает ошибку «import / no-unresolved». Я пытался использовать этот код:

module.exports = {
  ...   
  "settings": {
    "import/resolver": {
      "node": {
        "paths": ["src"]
      }
    },
  },

Но это не работает. Есть ли решение этой проблемы?

gatsby-plugin- root -import config:

{
      resolve: "gatsby-plugin-root-import",
      options: {
        src: path.join(__dirname, "src"),
        pages: path.join(__dirname, "src/pages"),
        component: path.join(__dirname, "src/component"),
        images: path.join(__dirname, "src/assets/images"),
        fonts: path.join(__dirname, "src/assets/fonts"),
        styles: path.join(__dirname, "src/styles"),
      }
}

1 Ответ

2 голосов
/ 28 апреля 2020

Вы можете установить плагин eslint-import-resolver-alias как зависимость dev, например

npm install -D eslint-import-resolver-alias

, а затем отредактировать конфигурацию eslint, указав псевдоним

module.exports = {
  ...   
  "settings": {
    "import/resolver": {
      "alias": {
        "map": [
            ["src", "./src'],
            ["pages", "./src/pages'],
            ["component", "./src/component'],
            ["images", "./src/images'],
            ["fonts", "./src/fonts'],
            ["styles", "./src/styles'],
         ],
         "extensions": [".js", ".jsx"]
      }
    },
  },

В основном вам необходимо предоставить все псевдоним как карты для eslint тоже

...