【问题标题】:Proper way to export dynamic module导出动态模块的正确方法
【发布时间】:2022-04-21 07:00:58
【问题描述】:

我有一个带有CoreModule 的 NestJS 应用程序,它将核心服务的集合导出到所有其他模块。 在核心模块中,我有动态模块寄存器HttpModule。 我不会为导入和导出两次注册此模块,所以我执行以下操作:

const httpModule = HttpModule.register({
    timeout: Configuration.requestTimeoutMilliseconds
});

@Module({
    imports: [httpModule],
    providers: [
        ...
    ],
    exports: [
        httpModule,
        ...
    ]
})
export class CoreModule { }

当我启动我的应用程序时,我在 InstanceLoader 日志中看到 HttpModule 依赖项注册了两次:

一般来说导出动态模块的正确方法是什么?

【问题讨论】:

    标签: node.js typescript nestjs


    【解决方案1】:

    你可以这样做。

    @Module({
      imports: [
        HttpModule.register({
          timeout: Configuration.requestTimeoutMilliseconds,
        }),
      ],
      providers: [],
      exports: [HttpModule],
    })
    export class CoreModule {}
    

    对我来说很有意义,因为当你想实现一个动态模块时,你需要在模块字段中返回模块类作为模块标识符。

    文档https://docs.nestjs.com/fundamentals/dynamic-modules#module-configuration中有此页面上声明动态模块的示例

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 2016-10-05
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多