modules
https://docs.nestjs.com/modules
#
Root Module (entryPoint)모듈은 Provider 를 캡슐화 한다.
정의된 공급자만 주입가능함.
#
Feature Modulescats/cats.module.ts CLI with '$ nest g module cats'
app.module.ts
#
Shared Modules 공유 모듈Nest 모듈은 싱글턴이다. (default)
- 공급자의 인스턴스는 여러 모듈에서 공유가능함.
- 모든 모듈은 자동으로 공유모듈이다.
cats.module.ts
#
Module re-exporting#
Dependency Injection Providers in Module설정 목적으로 사용한다.
모듈 클래스 자체를 주입하게 되면 순환 종속성 문제가 발생한다.
#
Global Modules 전역 모듈- ex) DB Connections
- 단 한번 등록한다.
- Root 나 Code-module 에서 등록함
- 사용 시 imports 를 할 필요 없음
- 전역 모듈은 좋은 디자인은 아니며 일반적으로 module import 를 사용한다.
#
동적 모듈 Dynamic Module- ex) Database Module