Preciso compartilhar um módulo dinâmico. Na documentação descobri que podemos compartilhar serviços no escopo global. Sim, esta é uma solução. No entanto, gostaria de saber se isso é possível no nível do módulo. É por isso que estou interessado no que acontece quando o módulo dinâmico é registrado algumas vezes . Na prática, vejo que ele cria diferentes instâncias de módulos no NestJS. O comportamento do módulo é diferente do Angular, porém o NestJS gosta de mencionar a semelhança Angular. O módulo de propriedade me leva embora. Agora entendo que é usado apenas para controlar o comportamento do módulo. No entanto, não vejo nenhuma explicação na documentação. Eu vi perguntas semelhantes. Mas não encontrei detalhes que me interessem.
O código a seguir é apenas uma ideia. Não foi verificado.
import { DynamicModule, Module } from '@nestjs/common';
import { ConfigService } from './config.service';
@Module({})
export class ConfigModule {
static register(options: Record<string, any>): DynamicModule {
return {
module: ConfigModule,
providers: [
{
provide: 'CONFIG_OPTIONS',
useValue: options,
},
ConfigService,
],
exports: [ConfigService],
};
}
}
export const ConfiguredConfigModule = ConfigModule.register({key: 'flower'});
...
@Module({
imports: [ConfiguredConfigModule]
})
export class AppModule {}
Cumprimentos.