Saltar al contenido

El lado izquierdo de la expresión de asignación no puede ser una propiedad constante o de solo lectura

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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *