当我们在 index.html 中使用 Angular 自定义元素标签并使用量角器运行我们的 e2e 测试时,它会导致超时,因为在页面中找不到 Angular,因为对于 Angular Web 组件,只有 entryComponents 并且没有引导组件。因为构建用于部署为自定义元素的角度应用程序不需要引导组件。
问问题
120 次
1 回答
0
要使用 customElement 构建用于生产的 Angular 项目,并在量角器中测试相同的模块并使用 boostraping 组件,模块引导程序中的以下调整将起作用。
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
HttpClientModule
],
providers: [],
entryComponents: [AppComponent]
})
export class AppModule {
constructor(private injector: Injector) {}
ngDoBootstrap(appRef: ApplicationRef): void {
if (environment.production) {
const aboutSystemCustomElement = createCustomElement(AppComponent, { injector: this.injector });
customElements.define('custom-app-component', AppComponent);
} else {
appRef.bootstrap(AppComponent);
}
}
}
于 2021-04-09T11:48:02.767 回答