express - El lado izquierdo de la expresión de asignación no puede ser una constante o una propiedad de solo lectura
angular mongoose (1)
Cuando uso esta línea en mi servidor Express, funciona bien en TypeScript 1.x
mongoose.Promise = global.Promise;
(El uso de mongoose.Promise = global.Promise;
es del documento de mongoose )
Después de actualizar a TypeScript 2.x, muestra este error en el terminal y no me permite iniciar el servidor.
El lado izquierdo de la expresión de asignación no puede ser una constante o una propiedad de solo lectura.
¿Como puedo resolver esto? Gracias
Esto se debe a que en es6
todas las variables del módulo se consideran constantes .
https://github.com/Microsoft/TypeScript/issues/6751#issuecomment-177114001
En TypeScript 2.0
se solucionó el error (de no informar este error).
Dado que mongoose
sigue utilizando la commonjs
- var mongoose = require("mongoose")
, no la sintaxis de importación es6
(que se usa en las tipificaciones), puede suprimir el error suponiendo que el módulo sea de tipo any
.
SOLUCIÓN DE TRABAJO:
(mongoose as any).Promise = global.Promise;