본문 바로가기
Programming & Platform/NestJS

NestJS 앱의 시작, main.ts 기본 구조

by 코드스니펫 2023. 12. 27.
반응형

NestJS 앱의 시작, main.ts 기본 구조

 

NestJS Logo

 

우리의 NestJS 앱이 여기서 시작됩니다. main.ts 파일은 우리 앱의 진입점이자, 새로운 모험의 문을 열어주는 열쇠입니다. 이 코드를 통해 앱이 어떻게 생성되고 구동되는지 알아봅시다.

 

 

main.ts 구조

 

main.ts 기본 구조

import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';

import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);

  app.useGlobalPipes(
    new ValidationPipe({
      transform: true,
    }),
  );

  await app.listen(3000);
}

bootstrap();

 

 

 

NestJS 앱 생성

첫 번째 줄에서는 NestJS의 핵심 모듈인 NestFactory를 이용하여 앱을 생성합니다. create 메서드는 AppModule을 통해 우리의 앱을 구성하고 반환합니다.

 

const app = await NestFactory.create(AppModule);

 

 

글로벌 파이프 적용

두 번째 줄에서는 앱에 글로벌 파이프를 적용합니다. useGlobalPipes 메서드를 이용하여 ValidationPipe를 추가했습니다. 이는 모든 들어오는 요청에 대한 자동 유효성 검사를 활성화합니다.

 

app.useGlobalPipes(
  new ValidationPipe({
    transform: true,
  }),
);

 

 

앱 구동

마지막으로, await app.listen(3000); 코드를 통해 앱이 3000번 포트에서 구동됩니다. 이 작은 코드 한 줄이 우리 앱을 외부 세계와 연결시켜줍니다.

 

 

끝으로

 

bootstrap 함수를 호출함으로써 모든 것이 움직입니다. main.ts는 마치 새로운 여정을 시작하는 용감한 모험가와도 같습니다. NestJS의 강력한 기능과 함께, 우리의 앱은 세련되게 구동되며 사용자와 소통할 준비가 되어 있습니다. 이제 우리는 앱이 세계에 자신의 발자취를 남기기 시작하는 순간을 맞이하게 되었습니다.

 

 

▼ typescript 기초는 정리 되었나요? ▼

 

 

TypeScript 학습 체크리스트 - boolean, number, String, tuple, enum, 배열의 사용법

TypeScript 학습 체크리스트 - boolean, number, String, tuple, enum, 배열의 사용법 TypeScript 강의 수강 후 배운 내용을 정리하고 궁금한 부분 추가하면서 작성해봤습니다. TypeScript 개념 체크리스트 ✅ ✅ boole

lemonlog.tistory.com

 

 

TypeScript 학습 체크리스트 - 컴파일러 개념 및 tsc 용도, 주요 명령어

TypeScript 학습 체크리스트 - 컴파일러 개념 및 tsc 용도, 주요 명령어 TypeScript 강의 수강 후 숙지 및 개념 정리하기 위해 체크리스트와 함께 배웠던 개념들을 정리합니다. TypeScript 개념 체크리스트

lemonlog.tistory.com