Application Module

The root module that composes the feature modules of a Nest application.

Since NestJS 10/11 Spec ↗

Syntax

@Module({ imports, controllers, providers })

Returns

ClassDecorator — The decorated root module class consumed by NestFactory.

Examples

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

@Module({
  imports: [ConfigModule.forRoot({ isGlobal: true }), CatsModule],
})
export class AppModule {}

Notes

Every Nest app has exactly one root module passed to NestFactory.create(). It typically imports configuration and feature modules rather than declaring controllers or providers directly.