[NestJS] Module

minsu·2025년 1월 9일

Module의 기본적인 구조

AppModule (root)
├ AModule
│   ├ Entity
│   ├ Controller
│   ├ Service
│   ├ Repository
│   └ ValidationPipe | JWT, Passport | ...
├ BModule
└─CModule

NestJS Module

@Module() 데코레이터로 주석이 달린 클래스로, @Module() 데코레이터는 Nest가 애플레이션 구조를 구성하는 데 사용하는 메타데이터를 제공한다.


루트모듈

모든 NestJS 애플리케이션에는 반드시 하나의 루트 모듈이 있어야 한다.
루트 모듈은 Nest가 사용하는 시작점이다.

기능별 모듈화

모듈은 밀접하게 관련된 기능들을 하나로 묶는 데 사용된다.
같은 기능에 속하는 구성 요소(컨트롤러, 서비스, 프로바이더 등)를 한 모듈 안에 배치하여 관리한다.

싱글톤(Singleton) 설계

모듈은 기본적으로 싱글톤으로 동작한다.
따라서 여러 모듈 간에 동일한 프로바이더 인스턴스를 공유할 수 있다.

구조화된 관리

기능별로 모듈을 나누면 프로젝트가 커져도 유지보수와 확장이 쉽다.

요약

NestJS 모듈은 관련된 기능 집합을 체계적으로 관리하며,
재사용성과 유지보수성을 극대화하기 위한 핵심적인 설계 도구이다.

profile
3년차 백엔드 개발자

0개의 댓글