@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 |