我知道如果我想使用它我必须导入 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";
或者我可以像这样将它们合并到一个 moment 对象中(使用 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')
这并不理想,因为它是不透明的,如果不了解节点的工作原理,您可能会认为第一个要求毫无意义。但它干净有效。
关于javascript - 如何使用多时刻插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46091734/