일반적으로 모듈은 한가지 일만 수행하는 소프트웨어 컴포넌트가 아니라, 여러 컴포넌트를 조합하여 작성한 좀 더 큰 작업을 수행하는 단위를 말한다.

Nest에서 모듈은 @Module() 데코레이터로 주석이 달린 클래스이다.

스크린샷 2022-09-18 오후 7.17.38.png

Nest 어플리케이션이 실행되기 위해서는 하나의 루트 모듈이 존재하고, 이 루트 모듈은 다른 모듈들로 구성된다.

Modules

@Module 데코레이터는 인자로 ModuleMetadata를 받는다.

@@filename(boards.module)
**@Module**({
  imports: [TypeOrmModule.forFeature([Board])],
  controllers: [BoardsController],
  providers: [BoardsService],
})
export class BoardsModule {}