Nest.js 공식문서 정복하기[개요]

이수현·2022년 9월 4일
0

NestJs

목록 보기
1/4

Nest.js란?

  • NestJS는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크이다.

  • TypeScript로 구축되고 완벽하게 지원하며(그러나 여전히 개발자가 순수 JavaScript로 코딩할 수 있음) OOP의 요소를 결합한다.

또한, 내부적으로 Nest는 Express(기본값)와 같은 강력한 HTTP 서버 프레임워크를 사용하며 선택적으로 Fastify도 사용하도록 구성할 수 있다.

시작하려면 Nest CLI로 프로젝트를 스캐폴딩하거나 스타터 프로젝트를 복제할 수 있다.

아래 명령어를 입력하면 새 프로젝트 디렉토리가 생성되고 초기 코어 Nest 파일 및 지원 모듈로 디렉토리가 채워져 프로젝트의 기존 기본 구조가 생성됩니다.

$ npm i -g @nestjs/cli
$ nest new <project-name>

## TypeScript의 엄격 모드가 활성화된 새 프로젝트를 만들려면 --strict 옵션을 nest new 에 추가하면 된다.

## project-name 디렉토리가 생성되고 노드 모듈 및 몇 가지 다른 상용구 파일이 설치되며 
src/ 디렉토리가 생성되어 여러 코어 파일로 채워진다.

  • app.controller.ts : 단일 경로가 있는 기본 컨트롤러
  • app.controller.spec.ts : 컨트롤러에 대한 단위 테스트
  • app.module.ts : 애플리케이션의 루트 모듈
  • app.service.ts : 하나의 메서드를 가진 기본 서비스
  • main.ts : 핵심 기능인 NestFactory를 사용하여 Nest 애플리케이션 인스턴스를 생성하는 애플리케이션의 항목 파일

✏️ main.ts에는 애플리케이션을 부트스트랩할 비동기 함수가 포함되어 있다.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

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

Nest 애플리케이션 인스턴스를 생성하기위해, 핵심 NestFactory 클래스를 사용한다.
NestFactory는 애플리케이션 인스턴스를 생성할 수 있는 몇 가지 정적 메서드를 제공한다.

위 코드에서 create() 메서드INestApplication 인터페이스를 수행하는 애플리케이션 객체를 반환한다.

이 객체는 다음글에 등장하는 설명하는 메서드 집합을 제공한다.

위의 main.ts 예제에서는 애플리케이션이 인바운드 HTTP 요청을 기다리도록 하는 HTTP 리스너를 시작하기만 하면 된다.

💡 Nest CLI로 scaffold된 프로젝트는 개발자가 각 모듈을 자체 전용 디렉토리에 보관하는 규칙을 따르도록 권장하는 초기 프로젝트 구조를 생성한다.

  • Nest는 플랫폼에 구애받지 않는 프레임워크를 목표로 한다.
  • 플랫폼 독립성을 통해 개발자가 여러 다른 유형의 애플리케이션에서 활용할 수 있는 재사용 가능한 로직을 생성할 수 있다.
  • 기술적으로 Nest는 어댑터가 생성되면 모든 Node HTTP 프레임워크와 함께 작동할 수 있다.
  • 기본적으로 지원되는 두 가지 HTTP 플랫폼인 express 및 fastify가 있다. 우리의 필요에 가장 적합한 것을 선택할 수 있다.

어떤 플랫폼을 사용하든 자체 애플리케이션 인터페이스를 노출한다. 그리고 이것들은 각각 NestExpressApplicationNestFastifyApplication으로 표시된다.

아래 예제와 같이 NestFactory.create() 메소드에 타입을 설정하면 애플리케이션 객체는 해당 특정 플랫폼에서만 사용할 수 있는 메소드를 갖게 된다.

const app = await NestFactory.create<NestExpressApplication>(AppModule);

0개의 댓글