Вопрос проверяет знание модулей в NestJS, их роль в организации приложения и способность разработчика создавать модули.
Модули в NestJS объединяют связанные компоненты (контроллеры, сервисы, провайдеры) в единое целое. Это помогает структурировать приложение, делая его масштабируемым и легко управляемым. Модуль создается как класс с декоратором @Module, где указываются метаданные: контроллеры и провайдеры.
Модуль в NestJS — это основная организационная единица приложения, позволяющая группировать компоненты с общей функциональностью. Использование модулей способствует структурированию, упрощает управление зависимостями и масштабирование.
Каждое приложение в NestJS имеет минимум один модуль — корневой модуль (обычно AppModule). Дополнительные модули можно создавать для разделения функциональности (например, модуль для пользователей, модуль авторизации).
Создание модуля:
Модуль создается вручную или с помощью CLI. Вручную это делается так:
import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
@Module({
controllers: [UsersController],
providers: [UsersService],
})
export class UsersModule {}Controllers — массив контроллеров модуля.
Providers — массив провайдеров (сервисов и других классов).
Module — декоратор, который определяет метаданные для модуля.
CLI-команда для создания модуля:
nest generate module users
Используйте модули для группировки логически связанных компонентов. Это помогает сделать код более структурированным, читаемым и готовым к масштабированию.