<aside>
목차
</aside>
<aside> 🧐
NestJS에서 process.env 대신 ConfigService.get()을 사용하는 이유
</aside>
process.env 방식ConfigService.get() 방식Config 방식의 장점.env.dev, .env.prod)| 항목 | process.env.XXX | configService.get('XXX') |
|---|---|---|
| 직접 접근 방식 | 환경변수에 직접 접근 | ConfigModule이 관리 |
| 테스트 환경에서 유연성 | 불편함 (수동 세팅 필요) | ✅ Mocking 용이 |
| DI(의존성 주입) | ❌ 불가 | ✅ 가능 |
| 동적 구성 (예: DB URL 구성) | ❌ 불편함 | ✅ 가능 |
| 모듈 간 공유 | ❌ 어려움 | ✅ 전역 모듈로 가능 |
| 런타임 변경 감지 | ❌ 불가능 | (보통 없음) |
| 권장 여부 | ❌ NestJS에서는 비권장 | ✅ 공식 권장 방식 |
ConfigService.get()을 써야 하는가?| 상황 | 사용 권장 |
|---|---|
| 단순한 설정값만 읽는 작은 스크립트 | process.env로도 충분 |
| NestJS 앱에서 구성, 유연성, 테스트 고려 | ✅ ConfigService.get() 강력 추천 |
| 유닛 테스트에서 환경을 모킹해야 할 때 | ✅ ConfigService.get() |