├── config/
│ ├── configuration.ts # 환경 설정 값 정의
│ ├── env.validation.ts # 환경 변수 검증
│ └── config.module.ts # 설정 모듈
yarn add class-transformer @nestjs/config class-validator
주요 특징과 용도:
- configuration.ts
- 환경 변수를 타입화된 설정 객체로 변환
- 네임스페이스별 설정 분리
- 기본값 설정
- env.validation.ts
- 환경 변수 유효성 검증
- 타입 변환
- 필수 값 확인
- config.module.ts
- 설정 모듈 초기화
- 전역 설정 제공
- 환경별 설정 파일 로드
사용예시 :
// 다른 서비스에서 설정 사용
@Injectable()
export class AuthService {
constructor(private readonly configService: ConfigService) {}
async someMethod() {
// JWT 설정 가져오기
const jwtSecret = this.configService.get<string>('auth.jwt.secret');
const accessExpiration = this.configService.get<string>('auth.jwt.accessExpiration');
// OAuth 설정 가져오기
const kakaoConfig = this.configService.get('auth.oauth.kakao');
// 데이터베이스 설정 가져오기
const dbUrl = this.configService.get<string>('database.url');
}
}