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

Несколько модулей в Nest

Пусть у сайта две темы, и обе записаны в корневой модуль. Списки контроллеров смешиваются, хотя адреса у тем разные и правила страниц тоже.

Каждую тему собирают в свой модуль. Корень импортирует их рядом, одним списком imports. У каждого модуля свой контроллер и свой префикс. Общих провайдеров у них нет: одна тема не заглядывает в классы другой.

Покажем на примере постов и черновиков. Контроллер постов:

import { Controller, Get } from '@nestjs/common'; @Controller('posts') export class PostController { @Get() getPosts(): string { return 'All posts'; } }

Модуль постов держит этот контроллер:

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

Контроллер черновиков:

import { Controller, Get } from '@nestjs/common'; @Controller('drafts') export class DraftController { @Get() getDrafts(): string { return 'All drafts'; } }

Модуль черновиков:

import { Module } from '@nestjs/common'; import { DraftController } from './draft.controller.js'; @Module({ controllers: [DraftController], }) export class DraftsModule {}

Корень импортирует оба модуля:

import { Module } from '@nestjs/common'; import { DraftsModule } from './drafts/drafts.module.js'; import { PostsModule } from './posts/posts.module.js'; @Module({ imports: [PostsModule, DraftsModule], }) export class AppModule {}

Сделайте страницу работников в контроллере WorkerController модуля WorkersModule и страницу архива в контроллере ArchiveController модуля ArchiveModule. Оба модуля подключите к корневому.

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