NestJS Module Reference

paduck·2024년 6월 15일
0

NestJS

목록 보기
17/24

ModuleRef 클래스

  1. 내부 provider 목록을 탐색
    get() 메서드를 통해 현재 모듈에 존재하는 provider, controller 또는 injectable 을 주입 토큰/클래스 이름을 사용하여 검색
  • global 컨텍스트에서 검색하려면 strict 속성을 false 로 넘겨줘야 함
  1. 주입 토큰을 조회 키로 사용하여 모든 provider에 대한 참조를 얻을 수 있음

  2. 정적 및 스코프가 지정된 provider를 동적으로 인스턴스화할 수 있는 방법도 제공

  • provider의 주입 토큰을 인수로 전달하여 resolve() 메서드

    • DI 컨테이너 서브 트리에서 provider의 고유한 인스턴스를 반환
  • ContextIdFactory 클래스를 사용하여 컨텍스트 식별자를 생성해 전달하면
    여러 resolve() 의 호출에도 동일한 인스턴스를 사용할 수 있음

    • 수동으로 생성된 context 는 Nest DI 에 자동으로 관리되지 않음
  • 현재 컨텍스트 식별자를 얻으려면 @Inject() 데코레이터를 사용하여 요청 객체를 주입

  • create() 를 통해 동적으로 인스턴스화 해, 프레임워크 컨테이너 외부에서 다양한 클래스를 조건부로 인스턴스화

profile
학습 velog

0개의 댓글