Tengo una aplicación NestJS con CoreModule que exporta una colección de los servicios principales a todos los demás módulos. En el módulo principal, tengo un registro de módulo dinámico HttpModule . No registraré este módulo dos veces para importar y exportar, así que hago lo siguiente:
const httpModule = HttpModule.register({ timeout: Configuration.requestTimeoutMilliseconds }); @Module({ imports: [httpModule], providers: [ ... ], exports: [ httpModule, ... ] }) export class CoreModule { } Cuando inicio mi aplicación, veo que InstanceLoader registra las dependencias de HttpModule registradas dos veces:
¿Cuál es la forma correcta de exportar módulos dinámicos en general?
Puedes hacerlo así.
@Module({ imports: [ HttpModule.register({ timeout: Configuration.requestTimeoutMilliseconds, }), ], providers: [], exports: [HttpModule], }) export class CoreModule {}Para mí tiene sentido porque cuando desea implementar un módulo dinámico, debe devolver la clase de módulo como un identificador de módulo en el campo del módulo.
Hay ejemplos de cómo declarar módulos dinámicos en esta página en la documentación https://docs.nestjs.com/fundamentals/dynamic-modules#module-configuration