NestJs, 소개 및 실행하기

김재훈·2022년 5월 30일
0

NestJS

목록 보기
1/3

복습 겸 NestJS를 한번도 사용안한 개발자도 쉽게 사용하는 것을 목표로 하며, REST API방식으로 진행합니다

NestJS

Node.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작합니다 기본으로 설치하면 Express를 사용합니다

특징

  • 데이터베이스, ORM, 설정(Configuration) 등 수많은 기능을 기본으로 제공합니다

  • TypeScript를 기본언어로 사용하여, 정적 타입을 통해 컴파일 타임에 타입 검사를 해서 코드의 안정성을 향상시킵니다

  • 아키텍처의 정의도 프레임워크에서 제공하기 때문에 각 개발자들의 아키텍처가 통일되고, 개발자들 서로가 작성한 코드의 구조를 쉽게 파악할 수 있습니다

  • IoC(Inversion of Control, 제어역전), DI(Dependency Injection, 의존성 주입), AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)와 같은 객체지향 개념을 도입하였습니다

NestJS 설치 및 nest 프로젝트 시작

(node는 설치되었다고 가정하고 진행합니다)
우선 globally하게 nestjs/cli를 설치한 후, (이미 설치했다면 넘어가시면 됩니다)
npm i -g @nestjs/cli

프로젝트를 nest new [project name]으로 생성 후, 저는 npm을 선택하여 진행합니다
nest new project-name

https://github.com/nestjs/typescript-starter 에서 시작해도 좋습니다
nestjs/typescript-starter가 nest new로 프로젝트를 셋업한 것 보다 더 최신 버전의 라이브러리들로 구성해 줍니다

프로젝트 생성 시, package.json을 참조하며
hot reload가 적용된 npm run start:dev 명령어로 개발서버를 실행하면, 로컬 서버가 잘 작동되는 것을 확인하실 수 있습니다
npm run start:dev

명령어 모음

nest cli 는 유용한 기능들을 많이 지원하며
nest generate(g) 기능을 이용하면 자주 사용하는(모듈, 서비스, 특정 crud) 용도의 템플릿을 생성할 수 있습니다
다음은 nest g 를 사용해 만들 수 있는 명령어들입니다
nest

nest g co controllerNames- 컨트롤러 생성
nest g s serviceNames- 서비스 생성
nest g mo moduleNames - 모듈 생성
nest g res resourceNames = crud 생성

저희는 다음명령어로 users crud를 간단하게 만들어보겠습니다
nest g res users

그럼 user crud에 필요한 파일들과 app.module.ts 파일에 자동으로 UsersModule 이 추가된 걸 확인할 수 있습니다

오류나 기타 질문은 언제나 환영입니다 :)

Reference

profile
같이 협업하며 성장하고싶은, 좋은 개발자를 지향합니다 :)

0개의 댓글