Sobes.tech
Junior — Middle

Чӣ тавр мафҳуми модулро дар фреймворки NestJS муайян кардан ва чӣ гуна истифода бурдан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Дар NestJS, модул — ин унитаи асосии сохтмонии барнома аст, ки компонентҳои алоқамандро, ба монанди контроллерҳо, хизматрасониҳо ва таъминкунандагонро, дар як воҳиди мантиқӣ ҷамъ мекунад.

Модул бо ёрии декоратори @Module() муайян карда мешавад, ки дар он нишон дода мешавад:

  • imports: дигар модулҳо, ки барои кор кардани модули ҳозира заруранд.
  • controllers: контроллерҳо, ки дархостҳои воридшударо кор мекунанд.
  • providers: хизматрасониҳо ва дигар таъминкунандагон, ки тавассути DI ворид кардан мумкин аст.
  • exports: таъминкунандагон, ки барои дигар модулҳо дастрас хоҳанд буд.

Масалан, модул:

import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';

@Module({
  controllers: [UsersController],
  providers: [UsersService],
  exports: [UsersService],
})
export class UsersModule {}

Модулҳо барои сохтори барнома кӯмак мекунанд, ҳифзи капсула ва идоракунии вобастагиро тавассути механизмҳои дохилии Dependency Injection таъмин мекунанд.