Si te encuentras con algo que te causa duda puedes dejarlo en la sección de comentarios y haremos todo lo posible de ayudarte rápidamente.
Solución:
Esto se debe a que en es6
todos del módulo se consideran variables constantes.
https://github.com/Microsoft/TypeScript/issues/6751#issuecomment-177114001
En TypeScript 2.0
el error (de no informar este error) fue corregido.
Ya que mongoose
todavía está usando el commonjs
– var mongoose = require("mongoose")
– no la es6
sintaxis de importación (que se usa en los tipos), puede suprimir el error asumiendo que el módulo es del tipo any
.
SOLUCIÓN ALTERNA:
(mongoose as any).Promise = global.Promise;
También hay una forma de mantener la verificación de tipos y el sentido inteligente con esta técnica.
import * as mongoose from "mongoose"; // same as const mongoose = require("mongoose");
type mongooseType = typeof mongoose;
(mongoose as mongooseType).Promise = global.Promise;
// OR
(mongoose).Promise = global.Promise;
Esta puede ser una forma útil de anular solo ciertas funciones dentro de un módulo con funciones simuladas sin necesidad de un marco simulado como jest.mock()
.
valoraciones y comentarios
Nos puedes sustentar nuestra misión escribiendo un comentario o valorándolo te damos la bienvenida.