이 생각의 시작은 migraition 설정을 위해 ormconfig.ts를 만들면서였다.
ormconfig.ts에서 @nestjs/config가 제공하는 ConfigService를 사용하고 싶었지만, 그러기 위해서는 결국 nestjs app이 필요했다. 어떻게 이 문제를 해결 할 수 있을 까 고민하다 standalone application이라는 것을 알게 되어 정리하고자 한다.
How To?
해당 내용은 공식문서를 참조하였다.
//main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { AppService } from './app.service';
async function bootstrap() {
const app = await NestFactory.createApplicationContext(AppModule);
const appService = app.get(AppService);
console.log(appService.getHello());
}
bootstrap();
위 코드처럼 createApplicationContext를 통해 app을 받아 올 수 있고,
해당 app이라는 클래스가 제공하는 get, select 메소드를 이용하여 원하는 서비스를 불러 올 수 있다.
나의 경우, configService를 불러 올 수 있을 것이다.
하지만, 이 방법보다 이전에 작성한 글 처럼 바로 ormconfig에서 ConfigService없이 바로 .env를 읽어 오는 방법이 좋은 것 같아 사용은 하지 않게 되었다.
마무리
비록 사용은 하지 않게 됐지만, 공식 홈페이지에서 언급 했듯, 추후에 CRON job을 할 때 와 같은 경우 이 방법을 시도해보면 좋을 것 같다.
'NestJS' 카테고리의 다른 글
main.ts 에서 nestjs module 사용하기 (feat. nestjs 서버 시작 로그 남기기) (0) | 2022.05.12 |
---|---|
nestjs Logger Middleware 만들기(feat. log db저장) (0) | 2022.05.12 |
migration 으로 DB 초기값 설정(with typeorm) (0) | 2022.04.28 |
[NestJS] filter안에 dependency injection하기(i.e. inject service) (0) | 2022.04.15 |
NestJS의 기초 (0) | 2022.04.11 |