본문 바로가기

Nestjs

Modules

@Module()데코레이터로 주석이 달린 클래스.

각 애플리케이션에는 root module이 있다. root module은 Nest가 응용 프로그램 그래프를 빌드하는 데 사용하는 시작점이다.

 


cats / cats.module.ts

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

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

app.module.ts

import { Module } from '@nestjs/common';
import { CatsModule } from './cats/cats.module';

@Module({
  imports: [CatsModule],
})
export class AppModule {}

Shared modules

모든 module은 자동으로 Shared modules이다.

일단 생성되면 모든 module에서 재사용 할 수 있다.

CatsService를 다른 여러 module간에 인스턴스를 공유하려고한다고 가정 해보자.

그렇게하려면 먼저 아래와 같이 provider를 모듈의 배열에 추가 하여 provider를 내보내야한다.

CatsService exports

cats.module.ts

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

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

'Nestjs' 카테고리의 다른 글

Pipes  (0) 2019.11.05
Middleware  (0) 2019.11.05
Providers  (0) 2019.11.05
Controller  (0) 2019.11.05
Getting Started  (0) 2019.11.05