• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

config 질문드립니다.

22.04.04 22:36 작성 조회수 126

0

운영 배포를 위하여, 개발, 운영 간의 환경 설정 파일을 달리 하고자 합니다. 강의 진행해주신 .env, .env.developer, env.production 세개로 나누어서 파일을 생성해 두었으며, app.module.ts에 아래와 같이 임포트를 하였습니다.
 
허나, process.env.XXXX 를 활용하고자 하면 무조건 적으로 .env 파일을 바라보게 되고 있습니다. 설정을 빠뜨린게 있을까 싶어 한번 더 확인해 보았지만 도저히 모르겠습니다. 도움 부탁드립니다.
 
 
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath:
process.env.NODE_ENV === 'production'
? '.env.production'
: process.env.NODE_ENV === 'develpment'
? '.env.develpment'
: '.env',
ignoreEnvFile: process.env.NODE_ENV === 'production',
}),
PeriodModule,
ScheduleModule,
RssReaderModule,
AuthModule,
TypeOrmModule.forRoot(ormconfig),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
 
 
#pakage.json
"start:debug": "cross-env NODE_ENV=development nest start --debug --watch",
"start:prod": "cross-env NODE_ENV=production node dist/src/main",
 

답변 2

·

답변을 작성해보세요.

0

혹시 development 부분인가요??? 이 부분 맞춰서 해봐도 동일하네요ㅠㅠ

 

ignoreEnvFile는 구글링해서 붙여 넣다보니 넣은 내용입니다.

ignoreEnvFile은 빼보시고요. 파일 세 개 중에 하나도 읽지 못하는 건가요?

ignoreEnvFile 삭제해보고 NODE_ENV를 development, production 변경하며 테스트 해봐도 .env 파일만 읽네요

app.module  파일 안에 console.log(process.env.NODE_ENV)를 할 때 제대로 뜨는 게 맞나요?

제가 보기에는 일단 코드 자체에서는 아무 문제가 없습니다.

.env들도 package.json이 있는 곳에 위치한게 맞죠?

app.module 파일내에서 로그를 찍었을때 아래와 같이 잘 나오며 파일도 같은 위치에 위치하고 있습니다....

 

#app.modules.ts
console.log(process.env.NODE_ENV);

[오후 11:19:03] Starting compilation in watch mode...

[오후 11:19:08] Found 0 errors. Watching for file changes.

development

------------------------------------------------------

이건 저한테 질문하시는 게 아니라 nest에 공식적으로 질문하셔야할 것 같습니다. 코드상에 문제가 없습니다.

0

오타가 바로 눈에 보이네요. 그리고 ignoreEnvFile은 왜 넣으셨나요?