Я написал угловую библиотеку с некоторыми службами, чтобы использовать ее в различных угловых приложениях.Все отлично работает без --prod, поэтому без компиляции AOT в угловом приложении.
Генерация библиотеки с помощью ng-packagr, а также с cli и некоторыми другими генераторами yeoman выдает каждый раз одну и ту же ошибку,Кроме того, я пробовал разные ng-версии (5.xx, 6.xx и 7.xx).Но во всех случаях каждый раз (с AOT) одна и та же ошибка, когда я вызываю LoggerModule.forRoot () в app.module приложения:
ERROR in Error during template compile of 'AppModule'
Function calls are not supported in decorators but 'LoggerModule' was called.
Я читал много статей на эту тему, пробовал разные angularCompilerOptions вTSconfig.Есть еще какие-нибудь идеи?Модуль отлично работает без AOT (но это не вариант для нас) ...
NgМодуль библиотеки:
@NgModule({
declarations: [],
imports: [],
providers: []
})
export class LoggerModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: LoggerModule,
providers: [LoggerService]
}
}
}
NgМодуль приложения:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
LoggerModule.forRoot()
],
providers: [],
bootstrap: [AppComponent],
entryComponents: [AppComponent]
})
export class AppModule {
}