РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsPmMdFM 49 of 168 menu
◀ ▶

Модуль функциональности в Nest

Пусть страница списка и класс с её данными лежат в корневом модуле рядом с классами других тем. Файл корня растёт, хотя у списка своя тема и свой адрес.

Модуль функциональности собирает одну тему в одном классе. Его помечают декоратором Module. В списке controllers стоят контроллеры темы, в списке providers - её сервисы. Корневой модуль при этом остаётся отдельным файлом. Адреса темы откроются, когда корень подключит этот класс.

Покажем на примере постов. Сервис отдаёт список:

import { Injectable } from '@nestjs/common'; @Injectable() export class PostService { getPosts(): string { return 'All posts'; } }

Контроллер открывает этот список по префиксу темы:

import { Controller, Get } from '@nestjs/common'; import { PostService } from './post.service.js'; @Controller('posts') export class PostController { constructor(private postService: PostService) {} @Get() getPosts(): string { return this.postService.getPosts(); } }

Оба класса запишем в модуль постов:

import { Module } from '@nestjs/common'; import { PostController } from './post.controller.js'; import { PostService } from './post.service.js'; @Module({ controllers: [PostController], providers: [PostService], }) export class PostsModule {}

Создайте модуль WorkersModule и поместите в него контроллер WorkerController и сервис WorkerService.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить