гнездо js заменить сервис во время выполнения для системы плагинов - PullRequest
0 голосов
/ 17 марта 2020

Система плагинов для приложения nest js.

У меня есть какой-то сервис, который работает на модуле "core". Этот модуль должен быть черным ящиком, полностью запечатанным. Единственный способ добавить новую функцию - добавить новые модули в систему и, в конечном итоге, заменить некоторые службы основного модуля.

Проблема: как заменить службу во время выполнения? (@Injectable)

Идея состоит в том, чтобы заменить старый класс новым классом с расширенными возможностями.

1 Ответ

1 голос
/ 17 марта 2020
@Module({
providers: [{provide: OldServiceClass, useClass: NewServiceClass}]
})
export class FeatureModule {}
...