dependency-injection - 在 NestJS 中,如何将动态模块异步选项注入模块内部导入?
问题描述
在Nestjs 中,如果我有一个根据 forRootAsync 逻辑接受对象的动态模块Aoptions
,我如何将其注入options
到其导入的模块中?(更不用说模块 A导入依赖于模块 A 选项的模块 B )
我知道如何将选项对象注入到模块 Aproviders
但如何将其注入到模块 A 导入的模块中?
注意:要将选项注入到模块 A 导入的提供者中,我可以使用值提供者包装选项对象并使用工厂提供者的注入功能,以使其对提供者可用
解决方案
如果ModuleB
被导入ModuleA
, 并且依赖于ModuleA
的选项,那么你将在和之间有一个循环依赖。从技术上讲这是可行的,您需要将两个模块相互转发引用,从中导出选项提供程序并导入,以便选项提供程序可用。它肯定会变得一团糟,因为 DynamicModules 本身并不是在公园里散步。您可能想看看您是否可以制定不同的架构,看看您是否可以避免循环依赖。ModuleA
ModuleB
ModuleA
ModuleA
ModuleB
推荐阅读
- python - 从多个链接中抓取表格数据并将其组合到一个 Excel 文件中
- javascript - 从Javascript中的数组生成字符串
- bash - 如何使用 readlink 输出测试包含在变量中的字符串?
- c# - 为什么 getattirbute("required") 在硒中总是正确的?
- python - 如何在 python 派生类中“初始化”静态变量?
- react-final-form - final-form:重置单个字段
- javascript - 我正在使用带有正则表达式规则 'regExp[/(.*[0-9 \\-]){23}$/]' 的语义 UI 表单验证。它在除 iOS 之外的其他设备上运行良好
- react-native - React Native Expo 中的 Razorpay 集成
- cordova - 如何在科尔多瓦应用程序中访问节点模块包
- java - Java Kotlin Generic 将类 getter 作为函数中的参数传递