我知道如果我想使用它,我必须导入 moment 插件。像这样:
import * as moment from "moment-timezone";
//here I can use moment.tr.names() etc.
但是如果我想使用多个插件怎么办?我知道 moment 中的插件会导入 moment,添加其功能,然后再次导出 moment。但如果这是正确的,我该如何使用多个插件呢?
一种选择是以不同的名称导入它们,例如:
import * as momentJdate from "moment-jdateformatparser";
import * as momentTimezone from "moment-timezone";
或者我可以将它们合并到一个时刻对象中,如下所示(使用 deepExtend):
let moment = {};
deepExtend(moment, momentJdate, momentTimezone);
//here you should be able to use moment().toJDFString() and moment.tz.names()
但这些似乎都不是干净的代码。有一个更好的方法吗?
对我有用的东西,我认为逐个导入是干净的。例如:
moment = require('moment-business-days');
moment = require('moment-timezone');
moment().tz('America/New_York').businessAdd(1).startOf('day').add(7, 'hours')
它并不理想,因为它是不透明的,并且如果不了解节点如何工作,您可能会认为第一个要求毫无意义。但它是干净且有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)