user_of_toster
@user_of_toster

Как сделать NestJS провайдер глобальным?

В корне app.module.ts я указал:
@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
 }),

Теперь мне нигде не нужно вписывать ConfigService в провайдеры вот так: (он виден глобально и Nest не выбрасывает ошибку, что зависимость не найдена)
// some-other-module
@Module({providers: [ConfigService]})


Если я сделаю со своим кастомным модулем вот так:
// MyModule.ts
@Global()
@Module({providers: [MyService], exports: [MyService]})
export class MyModule{}

То теперь если я захочу использовать MyService в другом модуле, можно не импортировать MyModule, но MyService импортировать в провайдеры все равно нужно. Можно ли сделать так, чтобы MyService отдельно можно было не вписывать? Точно так же, как и ConfigService
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lssssssssssl
Используем Global, сервисы прекрасно работают друг с другом
60e074b122d1f108504143.png
Всё сыпется, так как декоратор убран и связь между ними оборвалась
60e074b7dc74d162357020.png
Восстанавливаем связь путём добавления SomeModule в импорты SecondModule
60e074bf51dda851119599.png

Не совсем понятно, что именно тебе не нравится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы