TypeScript,MongoDB和参考问题

时间:2014-09-19 01:26:04

标签: node.js mongodb typescript

我有一个使用TypeScript和MongoDB的NodeJS应用程序(内置在Visual Studio中)。

我已经编写了一个小型库,它将MongoDB驱动程序包装在一些TypeScript类中,就在今天它开始起作用。

如果我在我的一个库文件的顶部包含此行:

/// <reference path='./_scripts/typings/mongodb/mongodb.d.ts' />
在开始抱怨&#34;重复标识符&#34;以及其中许多标识符之前,

简要地构建 ,例如:

Error   6   Type name 'Transform' in extends clause does not reference constructor function for '"stream".Transform'.
Error   7   Type name 'events.EventEmitter' in extends clause does not reference constructor function for 'events.EventEmitter'.
Error   8   Duplicate identifier 'errno'.
Error   9   Duplicate identifier 'code'.
Error   10  Duplicate identifier 'path'.

所以我把它拿出来,一切都简短好,直到我开始看到围绕这一行报告的问题:

import mongodbNS = require('mongodb');

如果我要删除该行,我会看到错误:

public Connect: () => Promise<mongodbNS.Db>;

我可以通过添加删除内容并充分利用可打开的简短窗口来弥补 - 但显然这不是方法。

什么是?

1 个答案:

答案 0 :(得分:5)

  

它们都来自node.d.ts

这种情况正在发生,因为您的项目中有两个版本的node.d.ts(即磁盘上的不同文件)。