Здесь все в порядке.Объявления модуля доступны только тогда, когда они экспортируются в модуль, и модуль импортируется в другой модуль, где вы хотите их использовать, только материалы поставщиков будут распределены по всему вашему приложению.
Наличие модуля с forRoot - это просто соглашение, чтобы инициализировать вещи один раз или создать шаблон синглтона.
Но если вы хотите использовать вещи из этого модуля, вы должны импортировать их в каждый модуль, где вам это нужно, конечно, без forRoot.
Это все о сфере действия, которые имеют провайдерыглобальная область, что означает, что это видно везде.Объявления имеют закрытую область, что означает, что они видны только внутри текущего модуля.Если вы хотите использовать их в другом месте, вам нужно экспортировать их в их собственный модуль и импортировать этот модуль в другой модуль, чтобы использовать их.
Вот статья о ngModules, в которой это объясняется более подробно: https://medium.com/@cyrilletuzi/understanding-angular-modules-ngmodule-and-their-scopes-81e4ed6f7407
Когда дело доходит до отложенной загрузки, то же самое, за исключением того, что поставщики отложенных загруженных модулей доступны только после загрузки модуля.