Al desarrollar una aplicación con NestJS, existen necesidades de importar módulos cruzados o de importar un mismo servicio en varios módulos. Lo anterior, hace que la cantidad de imports en cada módulo crezca y se vuelva complicado de escalar.
Cómo usar el módulo global
NestJS otorga la posibilidad de crear módulos globales que se importarán automáticamente en todos los otros módulos de la aplicación, sin necesidad de importarlos explícitamente.
Todos los servicios que importes en este módulo, estarán disponibles para su utilización en cualquier otro módulo.
Es importante no abusar de esta característica y no tener más de un módulo global para controlar las importaciones. Pueden ocurrir errores de dependencias circulares que suceden cuando el Módulo A importa al Módulo B y este a su vez importa al Módulo A. El decorador @Global() te ayudará a resolver estos problemas.
// src/app.module.ts...import{DatabaseModule}from'./database/database.module';@Module({imports:[HttpModule,UsersModule,ProductsModule,DatabaseModule// 👈 Use DatabaseModule like global Module],...})exportclassAppModule{}