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
もう朝起きるのが辛くない!『スタンフォード式 最高の睡眠』西野精治著で学んだ、たった 90 分で人生が変わる睡眠革命
- review
もう「なんとなく」で決めない!『解像度を上げる』馬田隆明著で身につけた、曖昧思考を一瞬で明晰にする技術
- review
もう疲れ知らず!『最高の体調』鈴木祐著で手に入れた、一生モノの健康習慣術
- review
人生が激変!『苦しかったときの話をしようか』森岡毅著で発見した、本当に幸せなキャリアの築き方
- review
もう「何言ってるの?」とは言わせない!『バナナの魅力を 100 文字で伝えてください』柿内尚文著 で今日からあなたも伝え方の達人!
- review
もう時間に追われない!『エッセンシャル思考』グレッグ・マキューンで本当に重要なことを見抜く!