【问题标题】:Cannot find name 'Promise' despite using es6-promise.d.ts尽管使用了 es6-promise.d.ts,但找不到名称“Promise”
【发布时间】:2016-11-01 19:41:39
【问题描述】:

我在 WebStorm IDE 中将 systemjs.d.ts 文件添加到我的项目中。该文件包括 Promise 类的两种用法,它们被 TSC 标记为错误。这非常奇怪,因为我已经将 es6-promise.d.ts 文件添加到我的项目中,并且它确实解决了 mongodb.d.ts 文件的相同问题。那么为什么在一个文件中它被识别而在另一个文件中却不是呢?所有 .d.ts 文件都位于同一个文件夹(根文件夹\DefinitelyTyped)中。

我得到的错误:

TS2304:找不到名称“承诺”

systemjs.d.ts: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/master/systemjs/systemjs.d.ts

任何帮助将不胜感激!

【问题讨论】:

  • 你能发布你的systemjs配置吗?
  • @Nick Acosta 我还没有 systemjs 配置,我认为这并不重要,因为我们谈论的是编译时,而不是运行时。在编译库本身的确定类型之前,我不会有 systemjs 配置。
  • 那你能贴一些代码吗?或者可能是 plnkr?
  • @Nick Acosta 我添加了指向 systemjs.d.ts 的链接。请注意,这里没有我的代码。都是确定类型的文件。
  • 你的 tsconfig 怎么样?您提供的信息越多越好:)

标签: typescript webstorm systemjs es6-promise definitelytyped


【解决方案1】:

我解决了。我忘了添加参考评论。

将以下行添加到文件的开头解决了问题:

/// <reference path='es6-promise.d.ts' />

【讨论】:

    【解决方案2】:

    es6-promise.d.ts 文件到我的项目

    如果此文件https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/master/es6-promise/es6-promise.d.ts 包含在您的项目中,那么 in 应该可以正常工作。

    你可以试试--listFiles 命令行看看tsc 有没有捡到它。

    更多

    Alm.tools 在树视图中突出显示编译上下文中的文件;)

    【讨论】:

    • 我有正确的 es6-promise.d.ts 文件。这是一个奇怪的问题,因为在 mongodb.d.ts 文件中可以识别 Promise。无论如何我解决了它:我只是忘记在 systemjs.d.ts 文件的开头添加参考注释。感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多