nest.js

NestJS 설치해보기

PJH 2022. 12. 25. 20:37

네스트 공식 홈페이지

 

NestJS - A progressive Node.js framework

NestJS is a framework for building efficient, scalable Node.js web applications. It uses modern JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Progr

nestjs.com

NestJS는 node.js 기반 웹 API 프레임워크이다.

Express나 Fastify에 래핑하여 동작한다.

 

기본 설치 시, Express를 사용한다.

 

 

 

 

왜 Nest.JS를 써야 하는가?

 

express를 사용할 때 어땠는가?

 

 

아무것도 없는 상태에서 직접 하나씩 만들어 가야 했다.

지나치게 자유도가 높아 구성 방법을 개발자들끼리 논의해야 했다.

즉, 표준이 없어 역효과를 불러 일으킨 셈이다.

 

 

 

반대로 NestJS는 어떤가?

 

 

 

 

1. 사용하기 쉽다.

 

express는 기본적으로 설치해야 할 라이브러리가 너무 많았다.

 

 

반대로 NestJS는 파일 생성 시, 테스트, 모듈 파일 들을 일괄 생성해준다.

 

 

 

 

 

2. 자주 사용되는 기능들이 내장돼 있다.

 

Nest에서 IoC나 유효성 검사를 해주는 Joi, typeDI 같은 기능들을 기본 제공한다.

 

 

 

 

 

3. 아키텍처가 정의 돼 있다.

 

아키텍처가 있다는 말은, 여러 개발자들 간 협업이 쉬움을 말한다.

 

 

확장과 유지보수가 쉬워 대규모 애플리케이션 개발에 효율적이다.

 

 

 

 

 

 

이제 Nest.js 설치 방법을 알아 보자.

 

1. 설치하기

 

Please make sure that Node.js 
(>= 10.13.0, except for v13) 
is installed on your operating system.

node v13 버전을 제외하고 v10.13.0 이상의 버전이 설치되어 있는가를 확인해야 한다.

 

 

 

 

node.js 공식 홈페이지

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

nodejs LTS (node v18) or node v16 버전을 다운로드 하는 걸 추천하다.

 

 

 

 

2. 프로젝트 생성하기

 

npm install -g @nestjs/cli

nestJS 서버를 구성하기 위해 @nestjs/cli를 설치해야 한다.

 

 

 

 

nest new {project-name}

{project-name}에는 원하는 프로젝트명을 적으면 된다.

 

 

 

예로, 이미지 크기를 조절해주는 서버를 만들고 싶으면

 

"nest new image-resizer"

 

이렇게 쓰면 된다.

 

 

 

 

설치할 때 어떤 패키지 매니저를 쓸 건지 선택한다.

1. npm

2. yarn

3. pnpm

 

 

세 가지 모두 알면 아무거나 고르면 된다.

그게 아니면 npm을 선택하는 게 낫다.

 

 

 

 

 

3. Nest 프로젝트 생성 결과

nest 프로젝트 기본 구조이다.

npm 기반으로 생성됐으며, 기본적으로 typescript가 장착 돼 있다.

 

 

설치 끝났으니, 다음 장에서 nest의 기능들을 본격적으로 다뤄보겠다.