NestJSで`@/`を使って絶対パスインポートを実現する設定

NestJSで@/
を用いた絶対パスインポートを実現する設定についてご紹介いたします。
この設定を行うことで、モジュールやサービスのインポート時に../../../
といった煩雑な相対パスを使用せず、@/modules/sample.service
のようにスッキリとした記述が可能となります。
tsconfigのパスエイリアス設定
まずはTypeScriptの設定ファイルであるtsconfig.json
を編集いたします。
json{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
}
}
上記の設定により、@/
がsrc/
ディレクトリを指すようになります。
tsconfig.build.jsonにも反映
NestJSではtsconfig.build.json
を使用してビルドされるため、こちらにも同様のパス設定が必要です。
json{
"extends": "./tsconfig.json",
"compilerOptions": {
"paths": {
"@/*": ["src/*"]
}
}
}
extends
によって共通設定を引き継いでいますが、paths
は上書きされるため、明示的に記述する必要がございます。
モジュールのインポート例
設定後は以下のように簡潔なインポートが可能になります。
tsimport { SampleService } from '@/modules/sample.service';
これにより、コードの可読性が格段に向上し、大規模プロジェクトでも管理しやすくなります。
yarn start での確認
NestJSの開発サーバーを起動して、正しく動作しているかをご確認ください。
bashyarn start:dev
エラーが出ずにインポートが解決されていれば、設定は完了しております。
まとめ
NestJSで@/
を用いたパス解決を行うには、以下の2点が重要です。
対応項目 | 説明 |
---|---|
tsconfig.json | "baseUrl" と"paths" の設定を追加する |
tsconfig.build.json | ビルド時のために同様の"paths" 設定が必要 |
パスエイリアスを活用することで、開発効率と保守性が大幅に向上いたします。
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来
- review
人類はなぜ地球を支配できた?『サピエンス全史 上巻』ユヴァル・ノア・ハラリが解き明かす驚愕の真実
- review
え?世界はこんなに良くなってた!『FACTFULNESS』ハンス・ロスリングが暴く 10 の思い込みの正体
- review
瞬時に答えが出る脳に変身!『ゼロ秒思考』赤羽雄二が贈る思考力爆上げトレーニング
- review
関西弁のゾウに人生変えられた!『夢をかなえるゾウ 1』水野敬也が教えてくれた成功の本質