Sobes.tech
Junior — Middle

Jak zdefiniować pojęcie modułu w frameworku NestJS i jak jest on używany?

sobes.tech AI

Odpowiedź od AI

W NestJS moduł jest podstawową jednostką budulcową aplikacji, która grupuje powiązane komponenty, takie jak kontrolery, usługi i dostawcy, w jedną logiczną jednostkę.

Moduł jest definiowany za pomocą dekoratora @Module(), w którym określa się:

  • imports: inne moduły potrzebne do działania bieżącego modułu.
  • controllers: kontrolery obsługujące przychodzące żądania.
  • providers: usługi i inne dostawcy, które można wstrzykiwać przez DI.
  • exports: dostawcy dostępni dla innych modułów.

Przykład modułu:

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 {}

Moduły pomagają strukturyzować aplikację, zapewniają enkapsulację i zarządzają zależnościami za pomocą wbudowanego mechanizmu Dependency Injection.