我正在编写一个Angular2应用程序,其中我使用的是具有自己的打字文件的外部NPM程序包。问题是打字文件已经过时了 - 包中有些功能可用,但是没有在打字文件中声明。
所以我想弄清楚:
我尝试过谷歌搜索,但无法找到这3个问题中任何一个的答案。我的意思是我创建了一个.d.ts文件,但我不知道如何让Angular2识别它,而且我也不知道正确的语法。
declare namespace ContentfulClientAPI {
export interface ContentfulClientApi {
parseEntries(data: any): any;
}
}
我特意尝试扩展已定义的ContenfulClientAPI here:
答案 0 :(得分:0)
我让它在编辑器中工作,但是当运行'ng build'时,由于某种原因,angular-cli仍然没有找到新的功能。原来angular-cli只能识别'./src/typings.d.ts'文件中的输入内容,因此如果你使用的是angular-cli,请在'typeRoots'中添加它的路径并将输入放入那个文件。
对我来说,最终的打字文件如下所示:
import * as contentful from 'contentful';
declare module 'contentful' {
export interface ContentfulClientApi {
parseEntries(data: any): any;
}
}