我刚刚在angular-cli下迁移了我的项目,我在启动它时遇到了这个错误:
ERROR in Error遇到静态解析符号值。 不支持函数调用。考虑更换功能或 lambda引用了一个导出函数(位置63:45) 原始.ts文件),解析符号AppModule C:/Data/Private/Innovation/EV/ev-dashboard/src/app/app.module.ts
对应于app.module.ts中的APP_INITIALIZER:
...
providers: [ // expose our Services and Providers into Angular's dependency injection
APP_PROVIDERS,
ConfigService,
{ provide: APP_INITIALIZER, useFactory: (config: ConfigService) => () => config.load(), deps: [ConfigService], multi: true }
...
有趣的是,当我评论这一行时,它会很好地启动并在之后取消注释,这次触发编译时没有错误!
你有什么想法吗?
谢谢, 哔叽。
答案 0 :(得分:1)
您需要提取以下功能:
export function configFactory(config: ConfigService) {
return () => config.load()
}
...
providers: [{
provide: APP_INITIALIZER,
useFactory: configFactory,
deps: [ConfigService],
multi: true
}
另见