- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
作为 Angular 的初学者,我在尝试通过 angular-cli 构建我的应用程序时遇到了一个问题。
关注此tutorial之后:
我的 appModule 看起来像:
...
providers: [
{ provide: HttpService, useFactory: (backend: XHRBackend, options: RequestOptions) => {
return new HttpService(backend, options); },
deps: [XHRBackend, RequestOptions]}
]
...
构建它时我得到:
Error: Error encountered resolving symbol values statically. Function calls are
not supported. Consider replacing the function or lambda with a reference to an
exported function (position 63:39 in the original .ts file), resolving symbol Ap
pModule in ../angular/app/src/app/app.module.ts
at positionalError (..\angular\app\node_modules\@angular\compiler-c
li\src\static_reflector.js:595:18)
当我使用 ng serve
时,应用程序可以正常运行。
最佳答案
试试这个:
export function httpServiceFactory(backend: XHRBackend, options: RequestOptions) {
return new HttpService(backend, options);
}
providers: [
{
provide: HttpService,
useFactory: httpServiceFactory,
deps: [XHRBackend, RequestOptions]
}
]
当您构建它时,它会尝试进行 AoT 编译,但在遇到 lambda 函数时会失败,因此您需要导出它。当使用 ng-serve 时,它使用 JiT 编译。
参见:https://github.com/angular/angular/issues/11262#issuecomment-244266848
关于angular2 构建问题 useFactory 与功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051200/
我想弄清楚如何在 Angular 11 中使用 useFactory 作为异步函数。现在我有这个: import { ApolloClientOptions } from 'apollo-client
作为 Angular 的初学者,我在尝试通过 angular-cli 构建我的应用程序时遇到了一个问题。 关注此tutorial之后: 我的 appModule 看起来像: ... providers
useValue 和 useFactory 提供者有什么区别? useFactory 似乎返回一个值,useClass 也返回一个值。 最佳答案 useFactory 采用预期返回值的工厂函数,并且还
HelloComponent 获取一个 SampleService 实例,定义一个服务提供者。当HelloCompoment被销毁时,我不明白为什么SampleService会存活。 如果 Hello
我正在努力集成 angular2-jwt 包。我用自定义配置选项编写了以下函数 import { Http, Headers, RequestOptions } from '@angular/http
一些背景信息:我已经使用 Nswag 和 ASP Net Core 创建了一个生成的 API 客户端。要为 api 客户端设置基本 url,使用以下代码: export const API_BASE_
我使用 Angular AOT 编译器版本 4.1.3 我有一个组件库,它导出一个工厂方法,然后用于提供服务: export function libServiceFactory(itemId: st
一些背景信息:我已经使用 Nswag 和 ASP Net Core 创建了一个生成的 API 客户端。要为 api 客户端设置基本 url,使用以下代码: export const API_BASE_
app.module.ts bootstrap: [AppComponent], declarations: [AppComponent], imports: [
我正在动态创建元素,其中一个元素正在使用 @Inject解析为工厂的 token 。 问题是工厂实例缓存在节点索引上。一旦我的元素从 View 中消失并返回,我希望得到对我的工厂函数的调用;但我不。相
类型 '(configService: ConfigService) => Promise' 不可分配给类型 '(...args: any[]) => ({ retryAttempts?: numbe
我实现了 http 拦截器服务,它可以工作,但我的问题是我不知道如何在提供声明中注入(inject)我自己的服务。 我在控制台中收到运行时错误:No provider for MyService。 H
我使用 window.location 设置可注入(inject)。在我靠近导入的模块中,我定义了变量 const flag = window.location.search.includes('fl
我想使用带有 useFactory 的简单提供程序,它也将使用 deps(学习目的)。 所以我创建了这个 plnkr : //app.module.ts ... const randomFactory
我是 Angular 4 的新手,我刚刚通过 Angular Cli 创建了一个项目,但出现错误 Uncaught TypeError: useValue,useFactory,data is not
我有一个常规的NestJS应用程序,其中有一个负责创建测试数据的模块。。在AppService类中,我调用它来创建应用程序启动时的数据,如下所示。而且它运行得很好。。然而,自从我在应用程序中添加了用于
我是一名优秀的程序员,十分优秀!