我正在使用Angular 6.0.7,打包了angular 6的新库功能(ng build @ library / name),该库使用了ng-packgr。库是使用
创建的 ng generate library mylib/shared
两个项目都正确构建,但是父应用程序在运行时因以下原因中断:
Error: StaticInjectorError(AppModule)[NgbTypeahead -> Live]:
共享模块,其中包含一个用于ngbtypeahead的简单包装器:
import { NgModule, NgZone } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [
FormsModule,
NgbModule,
CommonModule,
RouterModule
],
providers: [],
declarations: [
AutoComplete
],
exports:
[
AutoComplete
]
})
export class ControlModule { }
主模块(尽管其中包含一些提供程序工厂,但我不认为这是问题所在):
@NgModule({
declarations: [
AppComponent
],
imports: [
ControlModule,
NgbModule.forRoot(),
AppRoutingModule
],
providers: [HttpClient, ConfigService,
{
provide: SomeCustomService,
useFactory: (HttpClient: HttpClient) =>
{
return new SomeCustomService(HttpClient);
},
deps: [HttpClient]
}
],
bootstrap: [AppComponent],
entryComponents: [SomeCompoent]
})
export class AppModule { }
我尝试直接从源代码实施Live,并将其放入provider部分。我也尝试过使用自定义工厂进行现场直播,并手动传递其参数(来自@ angular / core的DOCUMENT和来自util / accessibility / live.ts的ARIA_LIVE_DELAY)没有运气。
有什么想法会导致这种情况吗?