Lesson 8 / 33
Modules
Organize controllers, services, and dependencies into cohesive units.
Define a module
@Module() decorator wires up controllers, services, imports, and exports.
import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
@Module({
controllers: [UsersController],
providers: [UsersService],
exports: [UsersService] // other modules can use this service
})
export class UsersModule {}Root module (AppModule)
The AppModule is the entry point; it imports all feature modules.
@Module({
imports: [UsersModule, PostsModule],
controllers: [AppController],
providers: [AppService]
})
export class AppModule {}Lazy-loaded modules
Use forFeature() or async forRootAsync() patterns for dynamic module configuration (e.g., database connections).