我有一个使用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>;
我可以通过添加删除内容并充分利用可打开的简短窗口来弥补 - 但显然这不是方法。
什么是?
答案 0 :(得分:5)
它们都来自node.d.ts
这种情况正在发生,因为您的项目中有两个版本的node.d.ts
(即磁盘上的不同文件)。