[英]Property 'host' does not exist on type 'ProxyTargetUrl' Error. Even though i get IntelliSense in JS File
我在.ts
文件中有以下代码:
const connection = {
host: options.target.host
};
options
的类型为httpProxy.ServerOptions
, target
的类型为ProxyTargetUrl
我得到的错误如下:
Property 'host' does not exist on type 'ProxyTargetUrl'.
Property 'host' does not exist on type 'string'.
这些选项是http-proxy
npm模块的一部分。 最新的类型已安装。 "@types/http-proxy": "^1.16.2"
当我遵循声明时,会看到以下内容:
type ProxyTargetUrl = string | url.Url;
-
interface Url extends UrlObjectCommon {
port?: string;
query?: string | null | ParsedUrlQuery;
}
-
interface UrlObjectCommon {
auth?: string;
hash?: string;
host?: string;
hostname?: string;
href?: string;
path?: string;
pathname?: string;
protocol?: string;
search?: string;
slashes?: boolean;
}
为什么会出现此错误? 当我将代码复制到JS文件中时,我获得了IntelliSense的host
属性,并且代码在运行时也运行良好。 因此键入是正确的。 我错过了什么?
问题是在您的联合类型中, type ProxyTargetUrl = string | url.Url
type ProxyTargetUrl = string | url.Url
,只有Url
定义了字段host
。
要访问此字段,您需要类型断言: (<Url>options.target).host
。
有关更多信息,请参见此Github问题 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.