First Step

김예찬·2023년 1월 19일
0

NestJs 공식문서

목록 보기
1/3

해석에 오류가 있을 수 있습니다.
잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다.

특징

  • TypeScript와 vanila JavaScript와 호환
  • 운영체제에 Node.js(버전 12이상 v13 제외)가 설치되어 있어야 함

설정

$ npm i -g @nestjs/cli
$ nest new project-name
  • project-name 디렉토리 생성된다.
  • 노드 모듈과 다른 boilderplate 파일 설치된다.
  • project-name 폴더 하위에 src 폴더가 생기고 그 하위에 다음과 같은 파일들이 생성된다.

  • app.controller.ts
    • 하나의 라우트 경로를 갖는 기본 컨트롤러 파일
  • app.controller.spec.ts
    • 컨트롤러 유닛 테스트 파일
  • app.module.ts
    • 어플리케이션 루트 모듈
  • app.service.ts
    • 하나의 메소드를 갖는 기본 서비스 파일
  • main.ts
    • NestFactory 클래스의 create 함수를 활용해 Nest Application 인스턴스를 생성하는 어플리케이션 엔트리 파일

    • 생성된 Nest Application 인스턴스는 INestApplication 인터페이스를 따른다.

    • main.ts의 비동기 함수는 우리의 어플리케이션을 실행시킨다.

      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();

Platform

Nest는 플랫폼에 구애받지 않는 프레임워크를 목표로 한다.

기본적으로 express와 fastify 노드 http 프레임워크를 지원하고, 적합한 것을 선택할 수 있다.

  • platform-express
    • @nestjs/platform-express 패키지는 별도 설치 없이 기본적으로 사용되어 활성화하기 위한 조치를 취할 필요 없다.
  • platform-fastify
    • Fastify는 최대 효율성과 속도를 제공하는 데 중점을 둔 고성능 및 낮은 오버헤드 프레임워크
profile
이 밤 등불의 친구

0개의 댓글