1. NestJS 프레임워크
요약
본 글에서는
- NestJS 프레임워크에 대해서 소개합니다.
- NestJS 보일러플레이트를 설치하기 이전, 필요한 Node.js와 패키지 매니저를 설치합니다.
1.1. NestJS 프레임워크
NestJS의 공식 사이트에도 좋은 문서가 준비되어 있습니다.
다만, 해석하고 이해하기 어려울 뿐입니다. 😅
NestJS는 타입스크립트(TypeScript) 언어를 지원하는 Node.js 기반의 서버 프레임워크입니다.
여기서 프레임워크(Framework)란, 주어진 여러 요소들을 활용하여 개발을 편리하게 진행할 수 있는 뼈대 프로그램 환경을 이야기합니다. 즉, 특정 프론트/백엔드를 구현하기 쉽도록 마련되어 있는 개발자를 위한 일종의 구현 놀이터라고 볼 수 있습니다. 노는 것은 어디서든 놀 수 있지만, 놀이터가 마련되어 있으면 더 신나고 재밌게 놀 수 있는 것과 같습니다.
NestJS는 기본적으로 Node.js 기반의 서버 구현에 타입스크립트를 지원하기 때문에 타입스크립트의 장점인, 더 깔끔하고 탄탄한 구현을 가능하게 합니다. 예를 들어, 타입 미지정으로 인한 오류를 손쉽게 해결할 수 있고 빌드 과정에서 관련 오류들을 미리 탐지할 수 있습니다.
또한, NestJS는 또한 다양한 기술 요소들을 접목하고 있습니다. 문서에서는 대표적으로 OOP (Object Oriented Programming, 객체지향형 프로그래밍), FP (Functional Programming, 함수형 프로그래밍) 등을 언급하고 있습니다. 이러한 기본적인 짜임새와 관련된 패키지(라이브러리)들이 백엔드 서버 구현에 대한 편리함을 느끼게 해줍니다. 특히, NestJS의 대부분의 기술은 우리가 흔히 아는 국내 대표 백엔드 프레임워크인 JAVA Spring에 존재하는 기술들과 유사하므로 프레임워크 간 점핑을 용이하게 합니다.
NestJS는 기존 Node.js 프레임워크인 Express 혹은 Fastify를 Wrapping하여 동작할 수 있습니다. 대부분의 기술들이 호환되고 있기 때문에 기존 프레임워크에서 구현된 코드나 패키지를 그대로 이용할 수 있습니다. 이 글에서는 좀 더 범용적이고 널리 알려진 Express를 기반으로 동작하는 NestJS에 대하여 설명할 예정입니다.
1.2. 준비하기
NestJS를 이용하기 위해서는 최소 14버전 이상의 Node.js가 설치되어 있어야 합니다.
다만, 이용하는 패키지가 요구하는 Node.js 버전이 더 높을 수 있습니다. 그러므로 사실 최소 16버전을 추천합니다.
2024년 초기 업데이트된 NestJS 보일러플레이트 설치를 기준으로, 자동 설치되는 `@angular-devkit` 패키지가 요구하는 최소 Node 버전이 18.13.0 으로 되어 있습니다. 따라서, Node.js 설치 시 18.13.0 이상의 버전을 설치하도록 합니다.
여러분의 OS에 걸맞는 Node.js를 설치하도록 합니다. 공식 사이트에서 인스톨러 혹은 소스코드로 다운로드 받을 수 있습니다. 저는 M1 Chip을 가진 MacOS 환경을 이용하고 있으므로, 맥북의 터미널에서 사용하는 명령어를 기준으로 설명하도록 하겠습니다.
$ brew install node
Homebrew를 이용하여 Node.js를 설치할 수 있습니다.
혹은 사이트에서 MacOS용 인스톨러(.pkg)를 다운로드하세요.
설치가 완료되었다면 아래 명령어를 통해 설치된 Node.js의 버전을 확인할 수 있습니다.
$ node -v
v18.13.0
여러분이 사용하는 외부 패키지(라이브러리)에 따라서 요구하는 Node.js의 버전이 다를 수 있습니다. 호환에 문제가 되지 않도록 Node.js의 버전을 적절히 선택하도록 합니다. 이 글은 Node.js 16.18 버전을 기준으로 작성되었습니다. 만약 Node.js의 버전을 변경하고 싶다면 nvm을 이용하도록 합니다.
Node.js를 설치하면 자동으로 npm이 설치됩니다. 아래 명령어를 통해 npm의 버전을 확인합니다.
$ npm -v
6.14.13
만약 업데이트를 요구하는 메세지가 출력된다면 해당 출력된 버전과 함께 아래 명령어로 업데이트를 수행합니다.
$ npm install -g npm@x.x.x
# x.x.x 위치에 출력된 업데이트 버전을 기입합니다.
npm은 패키지 매니저로써 우리가 구현하는 프로젝트에 필요한 의존성(종속성)들을 설치 및 관리합니다. npm과 비교되는 패키지 매니저로 yarn이 있습니다. 거의 동일하게 사용할 수 있기 때문에 어떤 것을 사용해도 상관 없습니다. 이 글에서는 yarn 패키지 매니저의 사용을 추천합니다. 아래 명령어를 통해 yarn 패키지 매니저를 설치합니다.
$ npm install -g yarn
이제 npm 명령어를 대신하여 yarn 명령어를 이용하도록 합니다.
여기까지 완료하셨다면 이제 NestJS를 설치할 수 있습니다. NestJS는 친절하게도 새로운 프로젝트를 바로 시작할 수 있는 보일러플레이트를 제공하고 있습니다. 보일러플레이트는 CLI (Command Line Interface, 명령어 인터페이스)를 이용하여 생성할 수 있습니다.
다음 시리즈에서 NestJS CLI를 이용하여 보일러플레이트를 생성하도록 하겠습니다.
'개발자 💻 > NestJS' 카테고리의 다른 글
[초보자의 눈으로 보는 NestJS] 4. 유저 서비스의 정의와 의존성 주입 (1) | 2023.11.13 |
---|---|
[초보자의 눈으로 보는 NestJS] 3+. API 테스트를 위한 Postman (0) | 2023.07.19 |
[초보자의 눈으로 보는 NestJS] 3. 모듈, 컨트롤러, 그리고 프로바이더 (0) | 2023.07.18 |
[초보자의 눈으로 보는 NestJS] 2. NestJS 보일러플레이트 설치 (0) | 2023.03.13 |
초보자의 눈으로 보는 NestJS (0) | 2023.03.10 |