본문 바로가기
nestJS

NestJS | Config (env)

by 리잼 2024. 8. 25.
반응형

 

NestJS 에서는 환경변수를 위한 모듈을 제공한다

yarn add @nestjs/config

 

config 설치 후

app.module.ts

앱 모듈 파일에 ConfigModule을 import 해준다

 

코드 적용

// 사용하고자 하는 서비스의 constructor 에 추가
    private readonly configService: ConfigService,
//=================================================
verifyToken(token: string) {
    try {
      return this.jwtService.verify(token, {
   		// 이런식으로도 사용 가능하지만
        secret: this.configService.get<string>('JWT_SECRET'),
        // 스트링이 값으로 들어가면 깔끔해 보이지 않으므로
        // 따로 env 변수명 파일을 만들어서 적용해주면됨
        secret: this.configService.get<string>(ENV_JWT_SECRET),
      });
    } catch (err) {
      throw new UnauthorizedException('토큰이 만료됐거나 잘못된 토큰 입니다.');
    }
  }

 

common/const/env-keys.const.ts
Env 파일 작성법

app.module 에 env 적용

app.module에서는 서비스객체를 생성자로 불러올 수 없으므로 process 객체를 이용한다

 

반응형