在 NestJS 中,如何将动态模块异步选项注入模块内部导入?



Nestjs中,如果我有一个动态模块A根据 forRootAsync 逻辑接受options对象,如何将该options注入其导入的模块?(以免说模块 A导入模块 B,这取决于模块A 的某些选项(

我知道如何将选项对象注入模块 Aproviders但是您如何将其注入模块 A 导入的模块?

注意:要将选项注入模块 A 导入的提供程序,我可以使用值提供程序包装选项对象,并使用工厂提供程序的注入功能,使其可供提供程序使用

如果ModuleB被导入到ModuleA中,并且取决于ModuleA的选项,那么你将在ModuleAModuleB之间有一个循环依赖关系。从技术上讲,这是可行的,您需要将两个模块相互转发引用,从ModuleA导出选项提供程序并在ModuleB中导入ModuleA,以便选项提供程序可用。它肯定会变得混乱,因为动态模块本身不是在公园里散步。你可能想看看你是否可以制定一个不同的架构,看看你是否可以避免循环依赖。

最新更新