NestJS Introduction

paduck·2024년 6월 10일
0

NestJS

목록 보기
1/24

효율적이고 확장 가능한 Node.js 서버 사이드 애플리케이션을 만들기 위한 프레임워크

  • 최신 자바스크립트를 사용하고, TypeScript(및 JS)를 지원
  • OOP, FP, FRP 요소를 결합

Node.js: 서버 사이드 자바스크립트 실행 환경
TypeScript: 자바스크립트에 정적 타입을 추가한 언어로 코드의 안정성과 가독성을 높힘
OOP: 객체를 사용하여 프로그래밍하는 방식
FP: 함수를 사용하여 프로그래밍하는 방식
FRP: 데이터의 변화에 반응하는 프로그래밍 방식

기본적으로 Express라는 HTTP 서버 프레임워크를 사용하나, Fastify로도 설정 가능
Nest는 이러한 프레임워크 위에 추상화를 제공하지만, 개발자가 직접 API를 사용할 수 있음

  • 이를 통해 개발자는 다양한 서드 파티 모듈을 자유롭게 사용

Express: Node.js를 위한 빠르고 간단한 웹 프레임워크입니다.
Fastify: Express보다 더 빠른 성능을 목표로 하는 웹 프레임워크입니다.

Philosophy

Node.js에서의 아키텍처 문제를 효과적으로 해결하고 싶은 고민에서 출발

  • 테스트 가능하고
    확장 가능하며
    쉽게 유지 관리할 수 있는 애플리케이션 아키텍처

Installation

Nest CLI를 사용하여 프로젝트를 스캐폴딩하거나, 스타터 프로젝트를 클론

  • 새 프로젝트 디렉토리를 만들고, 초기 핵심 Nest 파일과 지원 모듈 자동 설정
$ npm i -g @nestjs/cli
$ nest new project-name

엄격한 기능 세트의 TypeScript 프로젝트는 nest new 명령어에 --strict 플래그 추가

Alternative

  1. Git을 사용하여 TypeScript 스타터 프로젝트 설치:
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
  1. 패키지 매니저를 사용하여 핵심 및 지원 파일을 직접 설치
  • 프로젝트 보일러플레이트 파일을 직접 생성
$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

프로젝트 보일러플레이트 파일:
프로젝트를 시작하기 위한 기본적인 폴더와 파일 구조
예를 들어, src 폴더 안에 app.module.ts, main.ts 등의 파일

profile
학습 velog

0개의 댓글