我正在尝试在TypeScript中使用momentJs: 根据我使用的模块系统来编译TypeScript,我发现可以使用momentJs的方式有所不同。 当使用commonJs编译TypeScript时,一切都按预期工作,我可以按照momentJs文档进行操作:
import moment = require("moment");
moment(new Date()); //this works
如果我在导入“moment”时使用 TypeScript 模块系统“system”,则我必须执行以下操作。
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;
我不喜欢这个,我想知道它为什么会这样。是我做错了什么吗?有人能给我解释一下发生了什么吗?