NestJS에서 @nestjs/config
의 ConfigService를 사용해서 설정 파일에 접근하려면 생성자에 주입해주는 방법으로 사용이 가능하다.
하지만 main.ts
에서 사용하기 위에서는 다른 방법을 사용해야한다.
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { ConfigService } from '@nestjs/config';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const configService = app.get(ConfigService);
const port = configService.get('PORT');
await app.listen(port);
console.log(`NestJS server running on port ${ port }`);
}
bootstrap();
위와 같이 app.get()
을 사용해서 .env
파일에 있는 값을 가져올 수 있지만 'PORT'
부분에 Argument type "PORT" is not assignable to parameter type KeyOf<K>
라는 문구와 함께 빨간 줄이 그어진다.
이를 해결하기 위해서는 app.get()
에 제네릭을 사용해서 ConfigService
타입을 정해주면 된다.
// main.ts 일부
const configService = app.get<ConfigService>(ConfigService);
const configService = app.get<ConfigService>(ConfigService);
configService.get('PROPERTY_NAME') // PROPERTY_NAME에 속성 값 입력