MongoDB 找不到 Promise 类型定义
Posted
技术标签:
【中文标题】MongoDB 找不到 Promise 类型定义【英文标题】:MongDB cannot find Promise type definition 【发布时间】:2016-12-20 00:41:09 【问题描述】:我创建了一个新项目,安装了几个类型定义(来自 distinctlyTyped)并创建了一个基本的src/go.ts
文件。
每当我转译代码时,都会收到大量 TS2304: Cannot find name 'Promise'
错误!./typings/mongodb/index.d.ts
引用了 Promise
,但编译器似乎没有发现它。请注意,我也安装了 dt~promise
。
Screenshot(左边是错误,安装了类型定义,右边是应用代码)
typings.json
的内容:
"globalDependencies":
"dotenv": "registry:dt/dotenv#2.0.0+20160327131627",
"express": "registry:dt/express#4.0.0+20160708185218",
"express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20160805091045",
"mime": "registry:dt/mime#0.0.0+20160316155526",
"mongodb": "registry:dt/mongodb#2.1.0+20160602142941",
"mongoose": "registry:dt/mongoose#4.5.4+20160807120805",
"mongoose-promise": "registry:dt/mongoose-promise#4.5.4+20160720003345",
"node": "registry:dt/node#6.0.0+20160807145350",
"promise": "registry:dt/promise#7.1.1+20160602154553",
"serve-static": "registry:dt/serve-static#0.0.0+20160606155157"
有什么想法吗?
【问题讨论】:
我也有同样的问题,你找到解决方法了吗? 【参考方案1】:我遇到过同样的问题(或多或少,使用@types 而不是打字)并且能够通过安装 CoreJS 的类型定义来解决它。
Screenshots
为链接到图书馆而道歉,这是我的第一篇文章,所以我无法在每篇文章中提供两个以上的链接。
图片说明:
第一个屏幕截图显示了类似的错误,MongoDB 的类型定义文件无法找到“Promise”。 为 CoreJS 安装类型定义。请注意,我是通过 NPM 而不是 Typings 获取类型定义的。所以要在 Typings 中做类似的事情,你会运行类似的东西:typings install dt~core-js --save --global
第三张截图显示构建命令输出没有错误?
希望这能解决您的问题。
【讨论】:
【参考方案2】:我在安装最新版本的 mongodb 和 mongoose 时遇到了同样的问题。
mongodb 的新定义文件假定您使用的是 ES6 承诺,因此如果您将tsconfig.json
中打字稿编译器的target
更改为es6
,它应该可以解决问题:
tsconfig.json:
"compilerOptions":
...
"target": "ES6",
...
【讨论】:
我遇到了与上述相同的问题,并通过此解决方案得到解决,谢谢! 在大多数情况下,你真的不希望 ES6 作为你的编译目标。这将导致任何客户端代码的大量可用性问题以及其他问题。请重新考虑一下。 我们正在讨论 服务器端 javascript,所以这不是问题。【参考方案3】:对于打字:typings install core-js --ambient --save
。
它对我有用。
【讨论】:
以上是关于MongoDB 找不到 Promise 类型定义的主要内容,如果未能解决你的问题,请参考以下文章
Yii2 错误 - 找不到类 'yii\mongodb\ActiveRecord'
Ionic 2:更新到 RC.0 后找不到名称“Promise”
org.bson.codecs.configuration.CodecConfigurationException:找不到类 org.springframework.data.mongodb.core
致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP