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" 設定が必要 |
パスエイリアスを活用することで、開発効率と保守性が大幅に向上いたします。
記事Article
もっと見る- article
NestJSでバリデーションエラーをログ出力する設定を紹介
- article
NestJSで作成したAPIのレスポンスヘッダーに付与されるx-powered-by: Express を消す方法を紹介
- article
Next.jsで環境変数に別の変数を利用し柔軟に管理するdotenv-expandの活用法を紹介
- article
【2025年3月版】Cursor ProとAPI利用比較。 Claude・GPT-4o・o1・GPT-4.5の損益分岐点と選び方
- article
フォーム入力情報からZodを利用してDTO作成しへ変換処理を実施するやり方を紹介
- article
Zodバリデーションのエラーメッセージを日本語化すやり方を紹介