NestJS란?
- Node.js 를 기반으로 한 서버 어플리케이션을 개발하기 위한 프레임워크이다.
- 기존 Express 와는 달리 정형화된 아키텍처를 지니고 있다는 점에 차이가 있으며, Spring과 비슷한 구조이다.
- Typescript 기반의 OOP(Object Oriented Programming), FP(Functional Programming), FRP(Functional Reactive Programming)를 지원한다.
NestJS 설치 방법
$ npm i -g @nestjs/cli # NestJS Cli 전역 설치
$ nest new project-name # NestJS 프로젝트 생성
다음과 같이 생성한 프로젝트 안에 기본적으로 controller, module, service, main이 생성된다.
NestJS 구조
Controller
기존 BackEnd에서 사용하는 개념이다.다른 점이 있다면
url를 가져와 함수를 실행하는데, express의 라우터 역할도 한다고 보면 된다.
즉, 라우터 역할, 요청과 응답을 담당한다고 보면 된다.
Controller 생성 명령
$ nest g controller [name]
Service
기존 BackEnd에서 사용하는 개념이다.
데이터 처리 및 비즈니스 로직을 담당한다.
Service 생성 명령
$ nest g service [name]
Module
Service와 Controller를 합치는 역할을 한다.
NestJS는 클라이언트의 요청별로 Controller와 Service를 제작하고 이를 Module로 묶어 하나의 단위를 만든다.
NestJS 장점
- 효율성: typescript의 도입과 Module를 통한 구조화 등의 기술을 활용하여 생산적인 개발이 용이하다.
- 확장성: module를 통해 확장이 용이하도록 설계되어 있다. 또한 마이크로서비스 아키텍처 개발 스타일을 제공한다.
- 안정성: typescript의 도입으로 서버 어플리케이션 개발 시 발생할 수 있는 오류들을 사전에 방지한다.
'Programming > Nest' 카테고리의 다른 글
[NestJS] #1 미니프로젝트 쇼핑몰 개발 (초기 설정, Prisma 및 github 연결) (0) | 2025.01.14 |
---|---|
[NestJS] NestJS와 Prisma (1) | 2024.12.20 |
[NestJS] mysql, prisma를 이용한 게시판 CRUD 구현 (1) | 2024.07.16 |