<aside>

목차

</aside>

[의문점]

<aside> 🧐

NestJS에서 process.env 대신 ConfigService.get()을 사용하는 이유

</aside>

예시

Config 방식의 장점

비교

항목 process.env.XXX configService.get('XXX')
직접 접근 방식 환경변수에 직접 접근 ConfigModule이 관리
테스트 환경에서 유연성 불편함 (수동 세팅 필요) ✅ Mocking 용이
DI(의존성 주입) ❌ 불가 ✅ 가능
동적 구성 (예: DB URL 구성) ❌ 불편함 ✅ 가능
모듈 간 공유 ❌ 어려움 ✅ 전역 모듈로 가능
런타임 변경 감지 ❌ 불가능 (보통 없음)
권장 여부 ❌ NestJS에서는 비권장 ✅ 공식 권장 방식

정리 - 언제 ConfigService.get()을 써야 하는가?

상황 사용 권장
단순한 설정값만 읽는 작은 스크립트 process.env로도 충분
NestJS 앱에서 구성, 유연성, 테스트 고려 ConfigService.get() 강력 추천
유닛 테스트에서 환경을 모킹해야 할 때 ConfigService.get()