# Modules — नेस्टजेएस

Source: https://www.geekswithgeeks.com/hi/nestjs/nestjs-modules

> Controllers, services और dependencies को cohesive units में organize करें।

## Module define करें

`@Module()` decorator controllers, services, imports और exports को wire up करता है।

```typescript
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)

`AppModule` entry point है; यह सभी feature modules को import करता है।

```typescript
@Module({
  imports: [UsersModule, PostsModule],
  controllers: [AppController],
  providers: [AppService]
})
export class AppModule {}
```

## Lazy-loaded modules

Dynamic module configuration के लिए `forFeature()` या async `forRootAsync()` patterns उपयोग करें (उदा., database connections)।
