无法为代理导入类型
Cannot import typings for Proxy
我正在尝试导入Proxy的类型信息,见图:
看起来它位于 lib.es6.d.ts
,但是当我尝试 select 时,我得到:
有人发现 Proxy 和 Webstorm 有类似的问题吗?看了很多遍,终于问出来了
好吧,我可以像这样编译它(在我的例子中使用 Function 作为 return 类型):
const getProxy = function (method: Function, rule: Object, props?: Array<string>): Function {
return new Proxy(method, {
get: function (target, prop) {
return function(){ } // everytime, a function is returned.
}
});
}
所以这似乎对我有用。
根据您指定的输出语言版本,Typescript 实际允许的内容有所不同。例如,如果你告诉 Typescript 你想要输出与 ES5 兼容的代码,它不会加载 lib.es6.d.ts
定义,因为你没有告诉它你将 运行 在支持的环境中东西。例如参见 [=13=].
在您的情况下,由于 Proxy
仅存在于现代环境中,我假设您从不期望您的代码能够在旧环境中运行。基于这个假设,你应该安全地告诉 Typescript
target: 'es6'
在您的 Typescript 配置中。
我正在尝试导入Proxy的类型信息,见图:
看起来它位于 lib.es6.d.ts
,但是当我尝试 select 时,我得到:
有人发现 Proxy 和 Webstorm 有类似的问题吗?看了很多遍,终于问出来了
好吧,我可以像这样编译它(在我的例子中使用 Function 作为 return 类型):
const getProxy = function (method: Function, rule: Object, props?: Array<string>): Function {
return new Proxy(method, {
get: function (target, prop) {
return function(){ } // everytime, a function is returned.
}
});
}
所以这似乎对我有用。
根据您指定的输出语言版本,Typescript 实际允许的内容有所不同。例如,如果你告诉 Typescript 你想要输出与 ES5 兼容的代码,它不会加载 lib.es6.d.ts
定义,因为你没有告诉它你将 运行 在支持的环境中东西。例如参见 [=13=].
在您的情况下,由于 Proxy
仅存在于现代环境中,我假设您从不期望您的代码能够在旧环境中运行。基于这个假设,你应该安全地告诉 Typescript
target: 'es6'
在您的 Typescript 配置中。