[데브캠프] nest.js 공식문서 -module

또또·2024년 5월 21일

nest.js 공식문서

목록 보기
4/6
post-thumbnail

module이란

코드간의 응집도를 높이기 위해 쪼개진 코드 덩어리를 말함
nest.sj에서는 어플리케이션이 실행되기 위해 각각의 모듈을 모아 하나의 루트모듈을 구성해야함
루트모듈은 nest가 애플리케이션을 시작하는 시작점

import { Module } from '@nestjs/common';
import { CatsController } from './cats.controller';
import { CatsService } from './cats.service';

@Module({
  controllers: [CatsController],
  providers: [CatsService],
})
export class CatsModule {}

@Module
controller, provider에 적용한다

새롭게 모듈을 만들면 app.mpdule의 import에 추가된다

공유모듈

모듈은 기본적으로 싱글턴이기 때문에 여러모듈간에 porvider의 인스턴스 공유가능
모든모듈은 공유모듈이기때문에 생성되면 재사용가능
다른 모듈에서 이 인스턴스를 사용하고 싶으면 모듈의 export옵션을 사용해 내보내기를 해야한다

DI

provider를 사용해 주입하고 이 모듈의 provider에 선언을 해줘야 한다

@Module({
  controllers: [CatsController],
  providers: [CatsService],
})
export class CatsModule {}
profile
내가 바라던 곳이야 흔들리지 않게 맘을 잡아

0개의 댓글