NestJS Module?
모듈은 @Module() 데코레이터로 주석이 달린 클래스입니다.
@Module() 데코레이터는 Nest가 애플리케이션 구조를 구성하는 데 사용하는 메타 데이터를 제공합니다.
각 애플리케이션에는 최소한 하나의 모듈인 루트 모듈이 있습니다.
- 루트 모듈은 Nest가 애플리케이션 그래프를 빌드하는 데 사용하는 시작점입니다.
구성 요소를 구성하는 효과적인 방법으로 모듈을 사용하는 것이 좋습니다.
- 기능별로 구성 ex) 유저모듈, 주문모듈, 챗모듈 ...
- 대부분의 응용 프로그램에서 결과 아키텍처는 각각 밀접하게 관련된 기능 집합을 캡슐화 하는 여러 모듈을 사용합니다.
- 같은기능에 해당하는 것들은 하나의 모듈 폴더안에 넣어서 사용합니다. (UserController, UserService, UserEntity 다 같은 기능이기에 UserModule안에 넣습니다.)
모듈은 기본적으로 싱글 톤 이므로 여러 모듈간에 쉽게 공급자의 동일한 인스턴스를 공유할 수 있습니다.
@Module()
providers Nest 인젝터에 의해 인스턴스화되고 적어도 이 모듈에서 공유될 수 있는 제공자
controllers | 인스턴스화해야 하는 이 모듈에 정의된 컨트롤러 세트 |
imports | 이 모듈에 필요한 공급자를 내보내는 가져온 모듈 목록 |
exports | 그 하위 집합은 providers 모듈에서 제공하며 이 모듈을 가져오는 다른 모듈에서 사용할 수 있어야 합니다. 공급자 자체 또는 해당 토큰(provide값) 만 사용할 수 있습니다. |
'NestJS' 카테고리의 다른 글
간단하게 알아보는 NestJS Providers (0) | 2022.03.16 |
---|---|
간단하게 알아보는 NestJS Controller (0) | 2022.03.16 |
NestJS 기본 로직 흐름 (0) | 2022.03.16 |
NestCLI로 생성한 프로젝트 기본구조 (0) | 2022.03.16 |
Nest JS CLI 설치 (0) | 2022.03.16 |