IT

NestJS로 쉽게 개발하는 방법

紫紅 2021. 3. 27. 01:18
반응형

개요

NestJS는 express 혹은 fastify를 기반으로 하는 마이크로 웹프레임워크이다. 개발 언어는 Typescript이다. 마이크로 프레임워크이다보니, 풀스택 프레임워크에 비해 구조를 자유롭게 가져갈 수 있다. 근데 어느 정도의 컨벤션을 정하지 않으면, 오히려 그 자유가 큰 단점이 되버릴 수 있긴 하다. 하여 NestJS의 훌륭한 라이브러리 기반으로 쓸데없는 고민은 줄이고, 높은 생산성을 내는 방법에 대해 소개하고자 한다.

팁1: NestJS ^7.5

기왕이면 7.5 이상을 사용하는 것을 추천한다. 2020년 8월 23일 7.5가 릴리즈되었는데, NestJS CLI에 매우 강력한 기능이 추가되었다.

Generate resource

추가된 커맨드는 다음과 같다.

nest g res <스키마>

기능 소개

module, entity, service, controller, create dto, update dto를 한 번에 생성해준다.

이미 많이 작성된 코드

7.5 이전엔 아래처럼 5줄을 쳐야했고, 작성된 코드는 더 적었다.

`nest g mo 스키마명`
`nest g co 스키마명`
`nest g s 스키마명`
`nest cl 스키마명 entities/스키마명`
`nest cl 스키마명 dto/스키마명`

더 이상 파일 분류, 네이밍을 고민하지 않아도 된다

이 명령어가 추가되면서, "NestJS의 개발 구조를 어떻게 가져갈 것인가"에 대한 논의가 종결됐다. 이미 진행중인 프로젝트는 어쩔 수 없겠지만, 새로 시작하는 서비스는 위 커맨드를 이용하면, 최소한 디렉토리, 파일 분류에 관한 문제는 고민하지 않을 수 있다.

팁2: NestJSX의 CRUD

NestJS의 서브 프로젝트들이다. 개인적으로 가장 좋아하는 건 crud이다. 스타도 2.2k로 압도적이다. nestjsx의 나머지 프로젝트 스타를 합쳐도 crud하나를 못이긴다.

RestAPI를 만드는 것에 있어서는 Django의 DRF(Django Rest Framework) 수준.. 아니 그 이상이라고 생각한다. Django보다 쉽고, 생산성도 비슷하며, 성능은 더 좋다.


 이 글을 처음 썼을 땐, 스웨거와 비교적 친하지 않다는 평가를 내렸었다. 2년 정도 지난 지금은 많이 개선되었다. 플러그인이 제법 똑똑해져서 컨트롤러의 리턴타입도 잘 파싱해준다. 점점 더 많은 스타트업에서 NestJS를 사용하는 모습을 보고 있으니 기분도 좋고, 내 밥그릇이 튼튼해지는 느낌이다.

반응형