TypeScript,MongoDB和参考问题

Mic*_*ael 3 mongodb node.js typescript

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

我编写了一个小型库,它将MongoDB驱动程序包装在一些TypeScript类中,直到今天它才开始表现.

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

/// <reference path='./_scripts/typings/mongodb/mongodb.d.ts' />
Run Code Online (Sandbox Code Playgroud)

它开始简要地构建,然后开始抱怨"重复标识符",以及其中很多,例如:

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'.
Run Code Online (Sandbox Code Playgroud)

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

import mongodbNS = require('mongodb');
Run Code Online (Sandbox Code Playgroud)

如果我要删除该行,我会看到以下内容的错误:

public Connect: () => Promise<mongodbNS.Db>;
Run Code Online (Sandbox Code Playgroud)

我可以通过添加删除的东西并利用可打开的简短窗口来弥补 - 但显然这不是方法.

什么是?

bas*_*rat 5

它们都来自node.d.ts

这是因为您的项目中有两个版本node.d.ts(即磁盘上的不同文件).