효율적이고 확장 가능한 Node.js 서버 사이드 애플리케이션을 만들기 위한 프레임워크
Node.js: 서버 사이드 자바스크립트 실행 환경
TypeScript: 자바스크립트에 정적 타입을 추가한 언어로 코드의 안정성과 가독성을 높힘
OOP: 객체를 사용하여 프로그래밍하는 방식
FP: 함수를 사용하여 프로그래밍하는 방식
FRP: 데이터의 변화에 반응하는 프로그래밍 방식
기본적으로 Express라는 HTTP 서버 프레임워크를 사용하나, Fastify로도 설정 가능
Nest는 이러한 프레임워크 위에 추상화를 제공하지만, 개발자가 직접 API를 사용할 수 있음
Express: Node.js를 위한 빠르고 간단한 웹 프레임워크입니다.
Fastify: Express보다 더 빠른 성능을 목표로 하는 웹 프레임워크입니다.
Node.js에서의 아키텍처 문제를 효과적으로 해결하고 싶은 고민에서 출발
Nest CLI를 사용하여 프로젝트를 스캐폴딩하거나, 스타터 프로젝트를 클론
$ npm i -g @nestjs/cli
$ nest new project-name
엄격한 기능 세트의 TypeScript 프로젝트는
nest new
명령어에--strict
플래그 추가
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
기본 포트인 http://localhost:3000/
에서 확인
javascript 는 javascript-starter.git
$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata
프로젝트 보일러플레이트 파일:
프로젝트를 시작하기 위한 기본적인 폴더와 파일 구조
예를 들어,src
폴더 안에app.module.ts
,main.ts
등의 파일