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
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来