Nest.js 탄생 배경 및 Module 개념

정재헌·2023년 4월 30일
0

Nest.js

목록 보기
1/1

Nest.js에 대한 기본 내용을 공부하고자 본 블로그를 작성하고자 하며, 블로그의 내용은 Nest.js 공식 문서와 유튜브를 참고하였습니다.

Nest.js 탄생 배경

Node.js의 높은 자유도로 인해 Architecture 구성이 어렵고 효과적이지 못한 부분으로 인해 이를 보완하고자 Angular의 아키텍처 사상을 기반으로 Nest.js가 탄생했다고 한다.

  • 규칙 제공 -> 아키텍처 구성 고민 해소
  • 기본적 제공 기능으로 편리하게 개발 가능
  • 외부 모듈을 바탕으로 한 편리한 확장

Nest.js 설치 : Nest CLI(Command Line Interface)

$ npm i -g @nestjs/cli
$ nest new project-name

Nest CLI를 사용하여 프로젝트를 스캐폴드 하려면 위 명령을 실행하면 된다. 이는 새 프로젝트 디렉토리를 생성하고, 디렉토리 내부에 Nest 초기 핵심 파일들과 지원 모듈을 생성하여 프로젝트에 대한 기본 구조를 잡아 준다. 그렇기 때문에 처음 사용자는 Nest CLI를 사용하여 새 프로젝트를 생성하는 것을 추천한다고 한다.

Nest.js의 기본 구조 : Module에 대하여

Module : 여러 개의 Module이 모여 하나의 project를 구성하고 있다.

각 Module은 Controller와 Provider로 구성되어 있다.

각 애플리케이션에는 적어도 하나의 모듈인 루트 모듈이 있다. 루트 모듈은 Nest가 애플리케이션 그래프를 구축하는 데 사용하는 시작점이다. 이는 Nest가 모듈과 공급자 관계 및 종속성을 해결하는 데 사용하는 내부 데이터 구조이다.

매우 작은 응용 프로그램은 이론적으로 루트 모듈만 가질 수 있지만 일반적인 경우는 아니다. 구성 요소를 구성하는 효과적인 방법으로 모듈을 강력하게 권장한다는 점을 강조하고 있다. 따라서 대부분의 애플리케이션에서 결과 아키텍처는 각각 밀접하게 관련된 기능 집합을 캡슐화하는 여러 모듈을 사용한다.

다음에는 Controller와 Provider에 대해 좀 더 공부하고, 직접 코드로 적용해보고자 한다.

profile
백엔드 개발자

0개의 댓글