Я пытаюсь использовать momentJs из typescript: в зависимости от того, какую модульную систему я использую для компиляции typescript, я нахожу другое поведение в отношении того, как я могу использовать momentJs. При компиляции typescript с commonJs все работает так, как ожидалось, и я могу просто следить за документацией timeJs:
import moment = require("moment");
moment(new Date()); //this works
Если я использую "систему" как модульную систему typescript, когда я импортирую "момент", я вынужден делать
import moment = require("moment");
moment.default(new Date()); //this works
moment(new Date()); //this doesn't work
Я нашел обходное решение, чтобы заставить их работать независимо от используемой системы typescript
import m = require("moment")
var moment : moment.MomentStatic;
moment = (m as any).default || m;
Мне это не нравится, и я хотел бы понять, почему он ведет себя так. Я делаю что-то неправильно? Может ли кто-нибудь объяснить мне, что происходит?