Búsqueda de sitios web

node.js - TypeScript, MongoDB y Problemas de Referencia


Tengo una aplicación NodeJS (desarrollada en Visual Studio) que utiliza TypeScript y MongoDB.

He escrito una pequeña biblioteca que envuelve el controlador de MongoDB en algunas clases de TypeScript y justo hoy empezó a comportarse mal.

Si incluyo esta línea en la parte superior de uno de mis archivos de biblioteca:

/// <reference path='./_scripts/typings/mongodb/mongodb.d.ts' />

se construye brevemente, antes de empezar a quejarse de "Identificador duplicado"s, y muchos de ellos, por ejemplo:

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'.

Así que saco eso, y todo está brevemente bien, hasta que empiezo a ver problemas reportados alrededor de esta línea:

import mongodbNS = require('mongodb');

Si luego eliminara esa línea, vería errores con cosas como:

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

Puedo salir adelante agregando y quitando cosas y aprovechando la breve ventana de compilabilidad que se abre, pero claramente este no es el camino.

¿Qué es?

Respuesta #1

y todos vienen de node.d.ts

Esto está ocurriendo porque tienes dos versiones de node.d.ts (es decir, archivos diferentes en el disco) en tu proyecto.

Artículos relacionados