错误没有导出的成员“ HTTP_PARAMS_FACTORY”

时间:2020-05-21 22:52:29

标签: backbase backbase-portal

我正在学习https://bbacademy.learnupon.com/上的Backbase Frontend Essentials课程-任务是使用RAML生成数据模块(已提供RAML)。我按照教程下载了提供的RAML,但是当我在浏览器中查看时,我的终端显示以下错误:

ERROR in libs/exchange-rate-data/src/exchange-rate-data.service.ts(5,33): error TS2305: Module '"../../../node_modules/@backbase/foundation-ang/data-http/backbase-foundation-ang-data-http"' has no exported member 'HTTP_PARAMS_FACTORY'.
    libs/exchange-rate-data/src/exchange-rate-data.service.ts(5,54): error TS2305: Module '"../../../node_modules/@backbase/foundation-ang/data-http/backbase-foundation-ang-data-http"' has no exported member 'HttpParamsFactory'.

我没有触摸过此文件。这是我尝试过的:

  1. 检查了我的节点版本-我使用的是v10.18.1(可能是较旧的版本是罪魁祸首),我的角度版本是8。
  2. 运行npm installnpm update更新/ node模块
  3. 我检查了../../../node_modules/@backbase/foundation-ang/data-http/backbase-foundation-ang-data-http,并确定没有找到HTTP_PARAMS_FACTORYHttpParamsFactory
  4. 已检查HTTP_PARAMS_FACTORYHttpParamsFactory的Backbase文档以及它是foundation-ang / data-http API的一部分。

我是不熟悉Backbase的人,并且认为此错误来自于本教程中给出的代码,但我不确定。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

我已经解决了该问题,但不确定以下所有内容是否都可以解决此问题100%。这是我所做的: 教程说要在版本4.25上安装@ backbase / foundation-ang,但是该版本没有HttpParamsFactory类型别名或HTTP_PARAMS_FACTORY常量,在教程中提供的已下载Raml规范中都引用了该常量。我切换到@ backbase / foundation-ang版本4.33.0。我还通过导入HttpClientModule(讲师有,但默认情况下没有)来从提供的RAML中修改了模块文件,然后修改了提供程序的数组。因此,我现在的最终exchange-rate-data.module.ts文件如下所示:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { InjectionToken, ModuleWithProviders, Optional } from "@angular/core";
import { HttpClientModule } from "@angular/common/http";
import { createServiceDataHttpConfig, DATA_HTTP_CONFIG, DataHttpModule, ServiceDataHttpConfig } from "@backbase/foundation-ang/data-http";
import { EXCHANGE_RATE_DATA_CONFIG, ExchangeRateDataService } from "./exchange-rate-data.service";
export const CONFIG_VALUE = new InjectionToken("ExchangeRateData Data Service :: Custom Http Config");
// export function createExchangeRateDataServiceDataHttpConfig(globalConfig: ServiceDataHttpConfig, serviceConfig?: Partial<ServiceDataHttpConfig>) {
//     return createServiceDataHttpConfig(globalConfig, serviceConfig ? serviceConfig : { "servicePath": "" });
// }
@NgModule({
    declarations: [],
    imports: [
        CommonModule,
        DataHttpModule,
        HttpClientModule
    ],
    providers: [ExchangeRateDataService, {provide: CONFIG_VALUE, useValue: {
        servicePath: '',
    }}, {
        provide: EXCHANGE_RATE_DATA_CONFIG,
        useFactory: createServiceDataHttpConfig,
        deps: [DATA_HTTP_CONFIG, CONFIG_VALUE],
        }]
})