Перезаписывание moment.now() в машинописном приложении
У меня есть задача синхронизировать MomentJS с серверным временем в приложении Angular2.
MomentJS имеет функцию для изменения источника времени, как указано здесь
Но компилятор машинописного текста не позволяет мне перезаписать функцию moment#now(), поскольку она экспортируется как функция из пространства имен в moment.d.ts, поэтому я получаю сообщение об ошибке.
Невозможно присвоить "сейчас", потому что это константа или свойство только для чтения.
Между тем у moment.d.ts на данный момент есть комментарий # сейчас:
//... перезаписать для получения прибыли
Поэтому я предполагаю, что я делаю что-то не так.
Я использую angular-cli rc4, MomentJS 2.18.1 и импортирую его как
импорт * как момент от "момента";
Я ценю вашу помощь.
0 ответов
"компилятор машинописного текста не позволяет мне перезаписывать
moment#now()
функция, поскольку она экспортирована как функция из пространства имен вmoment.d.ts
, поэтому я получаю сообщение об ошибке ".
Такие ограничения являются только предварительной компиляцией, что означает, что вы можете указать машинописному тексту, чтобы он по существу игнорировал и позволял вам переопределить, приведя его к
any
.
import * as moment from "moment";
// temporary cast as any to override.
(moment as any).now = () => serverDateTime
// continue with moment intellisense