У меня 2 модуля. Один (платежный) отвечает за платежи. Второй (auth) должен отправить запрос на верификацию на сторонний сервер. Я хотел сделать модуль (auth) глобальным, чтобы я мог свободно вводить его методы и не использовать «экспорт» и «импорт» для своих «провайдеров». Но почему-то это не работает, декоратор @Global просто игнорируется.
Что я делаю неправильно?
Пример кода: https://codesandbox.io/s/nest-forked-gsy160?file=/src/auth/auth.module.ts
Вам по-прежнему нужно использовать exports
, чтобы разрешить доступ к общедоступным поставщикам модуля. Как только вы добавите exports
, это будет работать нормально.
Вы можете думать о модуле как о контейнере с его частным API (неэкспортируемые провайдеры), общедоступным API (экспортированные провайдеры), точками входа (контроллеры, преобразователи, шлюзы) и конфигурациями (импорт). Вам нужно экспортировать поставщиков, чтобы сделать их общедоступными. @Global()
просто означает, что вам не нужно добавлять AuthModule
к другим модулям imports
(кроме вашего корневого модуля)