brunch

You can make anything
by writing

C.S.Lewis

by 훈오빵 Nov 26. 2023

NestJS 공부(1)

1. NestJS가 필요한 이유?

- Express에서는 아키텍처(디렉터리 구조) 문제를 고민해야 했으나 NestJS는 누구든 비슷하게 설계하게 함


2. NestJS 소개

- NestJS : Javascript 최신 기능을 사용하는 웹 프레임워크로 좋은 구조로 웹 어플리케이션을 작성해 프로젝트의 복잡성을 잘 관리하는 것을 목표로 함.

<특징>

- Node.js에서 실행하는 Server-side framework

- Typescript를 완벽하게 지원

- Javascript의 최신 스펙 사용 (Vanilla Javascript 사용시 babel 사용 필수)

- HTTP 요청 부분은 추상화된 코드를 제공해 Express와 Fastify를 사용할 수 있음.

- **Decorator 활용 : 일종의 함수로 "@Decorator명"으로 사용. Method, Class, Property, Parameter에 붙일 수 있음. 데코레이터를 만드는 것은 까다롭지만 사용이 매우 직관적이고 간편.

- 의존성 주입 : 모듈 간의 결합도를 낮춰 코드 재사용을 용이하게 함. 모듈 내에서의 코드 응집도를 높여서 모듈 재사용을 꾀하고 모듈 간에는 결합도를 낮춰 다양한 아키텍처에서 활용할 수 있게 해줌. 이를 위한 장치로 모듈, 가드, 파이프, 미들웨어, 인터셉터 같은 모듈과 코드의 의존 관계를 구성하는 프로그래밍적 장치들이 있음.

- Express를 품고 있기 때문에 익스프레스 기반의 미들웨어 대부분을 사용할 수 있음. 


3. NestJS 설치 및 실행

- 설치법

1) 구동에 필요한 라이브러리들을 모두 한땀한땀 설치하고 설정하기

$ npm i @nestjs/core @nestjs/common @nestjs/platform-express reflect-metadata typescript

2) nest-cli 패키지 설치

$ npm install -g @nestjs/cli
$ cd project-dir
$ nest new project-name
(에러가 발생할 경우엔 아래 명령어)
$ npx @nestjs/cli new project-name


3) git clone으로 내려받아 설정하기


4. NestJS로 웹 API 만들기

5. 의존성 주입하기

6. MongoDB 연동하기



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari