无法为代理导入类型

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 配置中。