Nest로 API 구현하기(1) - Nest

Lojy·2022년 7월 1일
0

Nest

목록 보기
1/5
post-thumbnail
  • 이글은 프로젝트를 하면서 Nest를 사용하기 위해 공부한것들을 정리하기 위한 글이다.

Nest란?

효율적이고 확장 가능한 Node.js서버 즉 애플리세이션을 구축하기 위한 프레임워크다.
진보적인 JavaScript를 사용하고 TypeScript(그러나 여전히 개발자가 순수 JavaScript로 코딩할수 있음)로 구축되고 완벽하게 지원하며 OOP(객체 지향 프로그래밍), FP(기능 프로그래밍) 및 FRP(기능 반응 프로그래밍)의 요소를 결합한다.

Nest 설치하기

Nest 프로젝트를 만들기 위해서 NestJs CLI(Command Line Interface)를 설치해야 한다.

  • 터미널에 아래와 같이 Nestjs cli를 설치한다.

    npm i -g @nestjs/cli
  • 설치가 완료되면 아래와 같이 CLI를 이용해 프로젝트를 만들 수 있다.
    (프로젝트 생성시 생각보다 시간이 꽤 걸린다.)

    nest new <프로젝트명>
  • 프로젝트 생성시 패키지 매니저를 선택하라고 하는데 자기한테 맞는 매니저를 선택하면 된다.
    (나는 처음부터 npm을 써왔기 때문에 npm으로 선택했다.)

  • 생성된 프로젝트의 구조

  • 자동생성된 프로젝트 소스 폴더의 구조는 다음과 같다.

    • app.controller.spec.ts : jest를 이용한 테스트용 파일
    • app.controller.ts: client의 request를 처리하고, response를 보낸다.(node.js에서 Express의 Router의 역할)
    • app.module.ts: controller와 service의 module을 정의한다.
    • app.serviec.ts: controller가 요청한 데이터 저장 및 검색을 처리한다.(node.js에서 Express의 Schema의 역할)
    • main.ts: 프로젝트의 시작 소스(Node.js의 app.js와 같은 역할)

Nest 실행

npm start

npm start는 nodemon과 같이 바뀐 내용이 있는 경우 자동으로 서버를 다시 시작해주는 기능

  • 서버를 실행하면 다음과 같이 dist가 생성된다.

    dist는 Nest가 실행 됐을 때 TypeScript를 JavaScript로 컴파일 해준다.

  • 서버가 잘 실행 됐다.




마무리

오늘은 Nest에 대해서 알아보고 기본적인 파일들에 적어보았다.
아직까지는 Node.js가 익숙하지만, 세팅하는 부분에 있어서 Nest가 좀더 편한거 같다.
다음에는 controller와 services, moudule에 대해 더 알아봐야겠다.

[참조: https://codegear.tistory.com/54?category=991389]

[참조: https://docs.nestjs.com/]

profile
Node 하는 lojy

0개의 댓글