inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

typeorm 커넥션 맺기

module.ts에서도 process.env 대신 configService를 사용할수 있나요?

해결된 질문

372

최석우

작성한 질문수 20

0

이전강의떄 app.module.ts에서 외부에서 Env값을 불러오는 방법도 있다는것을 알려주셧는데

const getEnv = async () => {
  //외부에 저장된 Env값
  // const response = await axios.get("/loadEnv")
  // return response.data;
  return {
    DB_PASSWORD: '~~~',
  };
};

@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true, load: [getEnv] }),
    UsersModule,
    ChannelsModule,
    DmsModule,
    WorkspaceModule,
    TypeOrmModule.forRoot({
      type: 'mariadb',
      host: process.env.DB_HOST,
      port: parseInt(process.env.DB_PORT, 10),
      username: process.env.DB_USER,
      password: process.env.DB_PASSWORD,
      database: process.env.DB_DATABASE,
      entities: ['entities/*.js'],
      // autoLoadEntities: true, // TypeOrmModule.forFeature 내의 entities를 읽어서 자동 연결
      synchronize: true,
      logging: true,
      keepConnectionAlive: true, //핫리로딩시 연결종료 방지
      charset: 'utf8mb4',
    }),
  ],
  controllers: [AppController],
  providers: [AppService, ConfigService],
})
export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer.apply(LoggerMiddleware).forRoutes('*');
  }
}
@Injectable()
export class AppService {
  constructor(private configService: ConfigService) {}

  getHello() {
    return this.configService.get('PORT');
  }
}

제가 이해한 바에 따르면 app.module.ts 에서 ConfigModule을 임포트하여 app.service.ts에서 ConfigService를 사용하여 외부 env값을 사용할수 있는데

app.module.ts 에서도 자체적으로 외부env를 이용하여 db설정값을 지정할수 있는지 궁금합니다.

node.js express nestjs typeorm

답변 1

0

제로초(조현영)

https://docs.nestjs.com/techniques/database#async-configuration

여기서 forRootAsync처럼 configModule import를 지원한다면 factory 함수에서 configService를 불러와서 가능합니다. 모든 모듈이 이걸 지원하는 것은 아니긴 합니다.

0

최석우

forRoot를 비동기로 지원해 주는 기능이 있었군요!
답변 감사합니다.

강의자료는 어디서 다운받나요?

0

114

4

질문 있습니다.

0

299

3

(강의 5:42 질문) providers를 통한 여러 개의 인스턴스 생성 & exports 통한 싱글톤 생성

0

154

2

코드 편집기 확장 프로그램

0

209

2

(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?

0

146

2

(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문

0

169

3

로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.

0

152

2

로그인방법이 고민됩니다.

0

190

2

yarn seed 명령어 실행 시 데이터 삽입 안됨

0

297

4

yarn run db:create 시에 발생하는 데코레이터 오류

0

242

2

npm run db:create 시에 발생하는 decorating 오류

0

232

2

RxJS 디버깅 질문 있습니다.

0

189

3

CacheManager에 대해 질문 있습니다.

0

175

2

로깅은 어떻게 하는게 효율적일까요?

0

224

1

CORS 질문 있습니다.

0

418

2

쿠키 옵션에 대해서 질문 있습니다.

0

184

2

로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??

0

449

1

401 unauthorized문제

0

289

1

가드의 장점에 대해서 질문이 있습니다.

0

225

1

로그 관리에 대해 질문 있습니다.

0

252

2

CORS 에러 질문 있습니다.

0

319

2

배포 환경 DB 연결 질문 있습니다.

0

411

2

socket io 미 연결 문제 (nest & flutter)

1

1156

3

no elements in sequence 에러 관해서 질문이 있습니다.

0

454

1