web-dev-qa-db-ja.com

eslintがjsconfigにマップされたパスを解決する方法

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: ["@", "."]
          }
        }
      }
}

「@/what/ever/my/path/is」を解決できないというエラーが引き続き表示される

Eslintにjsconfigパスを認識させる方法

9
mdanishs

eslint-import-resolver-aliasのドキュメント によると、mapプロパティは配列の配列である必要があるため、次のようにしてください。

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

また、実際にeslint-import-resolver-aliasインストール済み-忘れがちです!

0
Duncan Thacker