Чтение настройки в Nest
Пусть модуль конфигурации уже подключён, а страница всё ещё не знает заголовок сайта. Значение лежит в окружении, но до метода контроллера оно не доходит.
ConfigService приходит в конструктор
контроллера через внедрение зависимостей.
Его метод get по имени ключа
возвращает строку из загруженного
файла окружения. Корневой модуль
должен импортировать ConfigModule
с методом forRoot и регистрировать
контроллер в том же модуле.
Покажем на примере постов:
BLOG_TITLE=Blog
Метод списка вернёт заголовок из сервиса настроек:
import { Controller, Get } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
@Controller('posts')
export class PostController {
constructor(private configService: ConfigService) {}
@Get()
getPosts(): string {
return this.configService.get('BLOG_TITLE');
}
}
Подключим контроллер и модуль конфигурации в корневом модуле:
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { PostController } from './post.controller.js';
@Module({
imports: [ConfigModule.forRoot()],
controllers: [PostController],
})
export class AppModule {}
Сделайте страницу списка работников
в контроллере WorkerController,
которая отдаёт название сайта
из сервиса настроек, и подключите
модуль конфигурации с контроллером
к корневому модулю.