【问题标题】:In NestJS, how do you inject Dynamic modules async options to module internal imports?在 NestJS 中,如何将动态模块异步选项注入模块内部导入?
【发布时间】:2020-04-17 17:20:24
【问题描述】:

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

我知道如何将选项对象注入到模块 A providers 但如何将其注入到模块 A 导入的模块中?

注意:要将选项注入到模块 A 导入的提供者中,我可以使用 value provider 包装选项对象并使用 Factory providers 的注入功能,使其可供提供者使用

【问题讨论】:

    标签: dependency-injection nestjs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-12-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2023-03-05
      • 2019-12-26
      • 1970-01-01
      相关资源
      最近更新 更多