我在我的应用程序中使用 APP_INITIALIZER ,并在 app.module.ts 中将其设置如下,并进行必要的导入:
@NgModule({
...
providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: (context: ContextService) => () => context.load(), deps: [ContextService], multi: true } ],
...
})
当我构建新的(ng build -watch)时,出现以下错误,后续构建工作正常.
静态解析符号值时遇到错误中的错误。
不支持函数调用。考虑替换该功能或
带有对导出函数的引用的 lambda(位置 24:46
原始 .ts 文件),解析 C:/.../app.module.ts 中的符号 AppModule
我尝试过移动() => context.load()
到同一文件中的导出函数中,如下所示:
export function loadContext(context: ContextService) {
return () => context.load();
}
...然后更改 @NgModule 的提供者部分:
@NgModule({
...
providers: [ ..., ContextService, { provide: APP_INITIALIZER, useFactory: (context: ContextService) => loadContext(context), deps: [ContextService], multi: true } ],
...
})
构建最初仍然失败,如上面所示,并出现相同的错误。后续构建工作正常。
如何解决这个初始构建错误?