[NestJS] 1. NestJS 설치

2022. 9. 25. 13:04· Node.js/NestJS

오늘 디프만 오리엔테이션을 갔다왔는데, 같은 팀 서버를 맡으신 노드 개발자 세 분 모두 NestJS를 사용하신다고 하시어 NestJS로도 토이 프로젝트를 진행해볼까 합니다.

 

1. NestJS 설치

모든 내용은 공식문서를 기반으로 설치하겠습니다. 먼저 NestJS를 설치하기 앞서 NestJS의 cli를 설치합니다.

npm i -g @nestjs/cli

cli를 설치했으면 이제 터미널 상에서 nest를 입력하여 nest 관련 기능을 사용할 수 있습니다. 먼저 새로 프로젝트를 만듭니다.

nest new [project-name]

저는 테스트 케이스 공유 서비스를 구현해보고자 yourtc라는 이름으로 프로젝트를 만들겠습니다! 나의 주적 반례,,,,

그러면 패키지 매니저를 선택하라고 하는데 저는 npm을 사용하겠습니다. 튜닝의 끝은 순정.

 

설치가 완료됐으면 정상적으로 작동하는지 일단 서버를 실행시켜보겠습니다.

Express 보다는 시작하는 데 시간이 조금 걸립니다.

3000번 포트에서 서버가 정상적으로 실행되고 있는 것을 볼 수 있습니다!

 

이제 src에 만들어진 파일을 살펴보겠습니다.

 

src에는 app.controller.spec.ts, app.controller.ts, app.module.ts, app.service.ts, main.ts 파일이 있습니다.

 

  • app.controller.ts - 라우트에 대한 컨트롤러 파일
  • app.controller.spec.ts - 컨트롤러를 유닛 테스트할 때 사용하는 파일
  • app.module.ts - 어플리케이션의 루트 모듈입니다. 사용하는 컨트롤러와 서비스를 정의하고, ORM 의 모델들을 Import 하는 등의 역할을 합니다.
  • app.service.ts - 메서드에 대한 서비스를 정리하는 파일입니다.
  • main.ts - 어플리케이션의 구동 파일입니다. NestFactory를 통해 Nest 어플리케이션의 인스턴스를 생성합니다.

main.ts에서 부트스트랩 함수를 생성하여 서버를 구동합니다. 이때, NestFactory라는 코어 클래스를 통해 Nest 어플리케이션을 생성합니다.

 

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

create 메서드는  INestApplication의 인터페이스를 충족시키는 어플리케이션 객체를 반환합니다. 이 객체는 인바운드 HTTP 요청들을 기다리는 HTTP 리스너를 실행시켜주는 역할을 합니다.

저작자표시 비영리 (새창열림)

'Node.js > NestJS' 카테고리의 다른 글

[NestJS] 6. 예외 필터  (1) 2022.09.29
[NestJS] 5. 미들웨어  (0) 2022.09.28
[NestJS] 4. 모듈  (1) 2022.09.28
[NestJS] 3. 프로바이더  (0) 2022.09.27
[NestJS] 2. Nest Controller  (1) 2022.09.26
'Node.js/NestJS' 카테고리의 다른 글
  • [NestJS] 5. 미들웨어
  • [NestJS] 4. 모듈
  • [NestJS] 3. 프로바이더
  • [NestJS] 2. Nest Controller
턴태
턴태
import { Dream } from "future";
턴태
턴태의 밑바닥부터 시작하는 de-vlog
턴태
전체
오늘
어제
  • ROOT (187)
    • Node.js (37)
      • ES6 (1)
      • TypeScript (3)
      • Express.js (16)
      • NestJS (16)
      • JS (24)
    • 프론트엔드 (29)
      • CS (5)
    • 백엔드 (1)
      • 검색 (2)
      • Database (1)
    • 기타 툴 (1)
      • git (1)
    • 데브옵스 & 인프라 (19)
      • Kubernetes (15)
      • Docker (2)
      • Monitoring (1)
      • IaC (1)
    • Algorithm (90)
      • Implementation & simulation (5)
      • Math (4)
      • Brute Force (1)
      • String (0)
      • Graph (5)
      • Recursion & Backtracking (19)
      • Divide & Conquer (2)
      • Dynamic Programming (18)
      • Greedy (13)
      • Priority Queue (2)
      • Binary Search (6)
      • Data Structure (7)
      • Shortest Path (5)
      • Minimum Spanning Tree (1)
      • Sorting (1)
      • Prefix Sum (1)
    • Linux (1)
      • Ubuntu (1)
    • Diary (5)
      • Algorithm (1)
      • Conference (1)
      • Retrospective (3)
    • Book (0)
      • Self-Development (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • TypeScript
  • 타입스크립트
  • GREEDY
  • 노드
  • 인프런X디프만
  • dynamic programming
  • 함수형 프로그래밍
  • 익스프레스
  • 네스트
  • 백트래킹
  • python
  • 다이나믹 프로그래밍
  • 백준
  • backtracking
  • baekjoon
  • Omuk
  • nestjs
  • 자바스크립트
  • 쿠버네티스
  • 오먹
  • Kubernetes
  • Toy Project
  • 디프만
  • 토이프로젝트
  • node.js
  • 파이썬
  • k8s
  • N과 M
  • Express
  • 인프런

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
턴태
[NestJS] 1. NestJS 설치
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.