MongDB找不到Promise类型定义

时间:2016-08-12 22:53:06

标签: node.js mongodb typescript mongoose promise

我创建了一个新项目,安装了几个类型定义(来自DefinitelyTyped)并制作了一个基本的abc_ic_ab_search_material文件。

每当我转换代码时,我都会收到大量的src/go.ts错误! TS2304: Cannot find name 'Promise'引用了./typings/mongodb/index.d.ts,但编译器似乎没有找到它。
请注意我也安装了Promise

Screenshot (左侧错误,已安装类型定义且应用代码位于右侧)

dt~promise的内容:

typings.json

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题(或多或少,使用@types而不是打字)并且能够通过安装 CoreJS 的类型定义来解决它。

Screenshots

为链接到图书馆道歉,这是我的第一篇文章,因此我无法为每个帖子提供两个以上的链接。

图像说明:

  • 第一个屏幕截图显示类似的错误,MongoDB的类型定义文件无法找到'Promise'。
  • 安装CoreJS的类型定义。请注意,我通过NPM获取我的类型定义,而不是打字。所以要在Typings中做类似的事情,你会运行如下:
    • typings install dt~core-js --save --global
  • 第三个屏幕截图显示了构建命令,输出没有错误

我希望这可以解决您的问题。

答案 1 :(得分:1)

我在安装最新版本的mongodb和mongoose打字时遇到了同样的问题。

mongodb的新定义文件假设您正在使用ES6承诺,因此如果您将target中的typescript编译器的tsconfig.json更改为es6,它应该可以解决问题:

<强> tsconfig.json:

{
    "compilerOptions": {
        ...
        "target": "ES6",
        ...
    }
}

答案 2 :(得分:0)

对于打字:typings install core-js --ambient --save。 它对我有用。