Angular8:禁止使用导入组件

Angular 8: Disable use of an imported component

正在使用的 angular 组件之一是从库中导入的。但是,该库还包含类似于第一个组件的第二个组件。使用它会导致一些不一致。所以我试图消除使用它。

目前无法更改库,因为第一个组件在多个地方使用。有没有办法禁用第二个组件?

<first-component></first-component> <!--Should work-->

<second-component></second-component> <!--Should not work-->

我尝试在根组件上编写 jasmine 测试,以确保永远不会使用该组件。但是,它可能会失败,因为第二个组件可能会在 ngIf 中有条件地呈现。如果我能以某种方式使第二个组件中毒,以便在我编译时构建失败,那也没关系。任何帮助表示赞赏

您可以覆盖该组件。

fixture = TestBed.overrideComponent(SecondComponent, { set: { template: '<span>Hello</span> }}).createComponent(SecondComponent);

检查 this link。