@Module()
Declares a module that organizes controllers, providers, imports, and exports.
Syntax
@Module(metadata: ModuleMetadata) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
metadata | ModuleMetadata | No | Object with imports, controllers, providers, and exports arrays. |
Returns
ClassDecorator — A decorator applied to the module class.
Examples
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 {}
import { Module } from '@nestjs/common';
import { CatsModule } from './cats/cats.module';
@Module({
imports: [CatsModule],
})
export class AppModule {}
Notes
Modules group related capabilities. Providers listed in `providers` are
private to the module unless added to `exports`. Importing a module makes
its exported providers available for injection in the importing module.