检索组件/应用程序上所有已注入服务的列表

时间:2019-03-11 08:07:54

标签: angular dependency-injection introspection

我正在寻找一种获取组件或应用程序级别上所有已注入/可注入服务的列表的方法。

当前Injector仅提供需要参数的get方法,我正在寻找类似getAll方法的东西。

我需要对这些服务进行一些自省,这就是为什么我需要此功能。

能否请您告诉我目前是否有办法实现这一目标?

更新

这是我的需要。

我有一个抽象类 A ,其中包含方法isEveryThingOk(仅作为示例)。

该类在30多个服务中继承。

现在让我们说有5、10或20个应用程序正在使用其中一些服务,但从来没有全部使用。

在每个应用程序中,我都想检查扩展我的类 A 的所有已加载服务是否都正常。

当前,我需要在每个应用程序中创建一个包含所有已使用服务的数组,并通过该数组来运行我的测试。

手动操作这些阵列有些麻烦并且容易出错。这些服务可以通过模块间接加载。

因此,在我的主要应用程序组件中,我想遍历所有已加载的服务,测试它们是否与A类匹配,如果匹配,则对每个服务运行我的测试。

通过这种方式,我肯定不会错过任何一个,而且也不会通过卸载的服务。这也使我节省了大量时间,精力并避免了手动维护这些列表的错误。

当然,我不想创建包含所有服务的组件,因为即使不使用它们,它们也会将它们包含在每个应用程序的捆绑包中。

0 个答案:

没有答案