2016-08-07 15 views
17

Khi tôi sử dụng dòng này trên máy chủ tốc của tôi, nó hoạt động tốt trong nguyên cảo 1.xtay trái của biểu thức chuyển nhượng không thể là một hằng số hoặc một thuộc tính chỉ đọc

mongoose.Promise = global.Promise; 

(Việc sử dụng mongoose.Promise = global.Promise; là từ the mongoose document)

Sau khi cập nhật lên TypeScript 2.x, nó hiển thị lỗi này trong thiết bị đầu cuối và sẽ không cho phép tôi khởi động máy chủ.

Biểu thức chuyển nhượng bên trái không thể là hằng số hoặc thuộc tính chỉ đọc.

Tôi làm cách nào để giải quyết vấn đề này? Cảm ơn

Trả lời

31

Điều này là do trong es6 tất cả các biến số của mô-đun được coi là hằng số.

https://github.com/Microsoft/TypeScript/issues/6751#issuecomment-177114001

Trong TypeScript 2.0 lỗi (không báo cáo lỗi này) đã được cố định.

Kể từ mongoose vẫn sử dụng commonjs-var mongoose = require("mongoose") - không phải là cú pháp es6 nhập khẩu (được sử dụng trong typings), bạn có thể ngăn chặn các lỗi bằng cách giả sử các mô-đun là loại any.

CÁCH GIẢI QUYẾT:

(mongoose as any).Promise = global.Promise; 
+4

cảm ơn bạn! chỉ cần thêm một cách tương tự: '( mongoose) .Promise = global.Promise;' –

Các vấn đề liên quan