@shinyaz

Next.js のパスエイリアスはファイルをディレクトリに分割してもインポートパスが変わらない

約1分

i18n の辞書を1ファイルから言語別ファイルに分割するリファクタリングをした。src/lib/i18n.ts を削除して src/lib/i18n/index.ts + ja.ts + en.ts に分割したが、プロジェクト全体の50箇所以上ある import { ... } from "@/lib/i18n" を一切変更せずに済んだ。

Before
src/lib/i18n.ts          ← @/lib/i18n で解決
After
src/lib/i18n/
  index.ts               ← @/lib/i18n で解決(同じパス)
  ja.ts
  en.ts

Node.js のモジュール解決が @/lib/i18n に対してまずファイル i18n.ts を探し、なければディレクトリ i18n/index.ts にフォールバックするためだ。エクスポートさえ維持すれば、ファイル→ディレクトリの移行は完全に透過的に行える。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。