Typescript 如何为npm包中的对象声明新属性?
代码: 打字错误Typescript 如何为npm包中的对象声明新属性?,typescript,Typescript,代码: 打字错误 import * as request from 'superagent'; request .get('https://***.execute-api.eu-west-1.amazonaws.com/dev/') .proxy(this.options.proxy) 输入请求的注释 Property 'proxy' does not exist on type 'SuperAgentRequest' 我尝试进行类型定义(未能成功消除TypeScript错
import * as request from 'superagent';
request
.get('https://***.execute-api.eu-west-1.amazonaws.com/dev/')
.proxy(this.options.proxy)
输入请求的注释
Property 'proxy' does not exist on type 'SuperAgentRequest'
我尝试进行类型定义(未能成功消除TypeScript错误):
在声明文件中我做错了什么?首先,在声明模块时,不要忘记在superagent周围加上双引号 假设您没有可以从头开始扩充和声明包的类型,请将以下内容放在其自己的
.d.ts
文件(如globals.d.ts)中:
declare module superagent {
interface SuperAgentRequest {
proxy: any;
}
}
然后,您可以从文件模块写入:
declare module "superagent" {
interface SuperAgentRequest {
proxy: any;
}
export function get(s: string): SuperAgentRequest;
}
declare module "superagent" {
interface SuperAgentRequest {
proxy: any;
}
export function get(s: string): SuperAgentRequest;
}
import * as request from "superagent";
request
// get returns request.SuperAgentRequest
.get("https://***.execute-api.eu-west-1.amazonaws.com/dev/")
.proxy(this.options.proxy);