向NPM包进行角度构建将RXJS运算符导入为完整路径

时间:2018-11-26 12:38:24

标签: angular rxjs

在将角形库构建到NPM软件包中时,RXJS for operator会在声明文件(.d.ts)中定向到计算机上的完整路径

此软件包的构建成功,但是在将其实施到应用程序中时将引发错误。

node_modules/@essent/ns-mobile-contract-ids/lib/contract-ids.service.d.ts(7,43): error TS1144: '{' or ';' expected.

node_modules/@essent/ns-mobile-contract-ids/lib/contract-ids.service.d.ts(12,7): error TS1005: '(' expected.

我正在构建的文件包含以下代码,其中rxjs导入引用node_modules中的rxjs / index.d.ts

import {of} from "rxjs";
return of({
                    agreementId: 1,
                    premiseId: 500,
                    connectionEANs: this.createConnectionEANsMap("01", "02"),
                    partnerId: 2
                });

在构建时,contract-ids.service.d.ts包含以下内容:

 constructor(http: HttpClient);
getContractIds(apiUrl: string): import("../../../../../../../../../Users/milansteenwinkel/Desktop/Projects/ns-mobile-library/node_modules/rxjs/internal/Observable").Observable<{
    agreementId: number;
    premiseId: number;
    connectionEANs: Map<string, string>;
    partnerId: number;
}>;

从node_modules的其他导入不会发生这种情况。

1 个答案:

答案 0 :(得分:0)

方法需要一个类型定义才能正确创建声明文件。 添加了Observable作为类型。