首页 > 解决方案 > nestjs 在运行时替换插件系统的服务

问题描述

nestjs 应用程序的插件系统。

我有某种生活在“核心”模块上的服务。这个模块应该是一个黑盒子,完全密封。添加新功能的唯一方法是在系统上注入新模块,并最终替换核心模块的一些服务。

问题:我如何在运行时替换服务?(@可注入)

这个想法是用具有增强功能的新类替换旧类。

标签: nestjs

解决方案


@Module({
providers: [{provide: OldServiceClass, useClass: NewServiceClass}]
})
export class FeatureModule {}

推荐阅读