javascript - 如何使用多时刻插件?

标签 javascript typescript momentjs

我知道如果我想使用它我必须导入 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/

相关文章:

javascript - Cufon:下划线文本

TypeScript:基于参数的函数返回类型,无需重载

从现在到特定小时的 Momentjs 秒

javascript - 使用 Moment 或国际化 API 时更正时区列表

date - moment.js 第二天返回

javascript - 防止主题标签影响 Cycle2 的后退按钮

javascript - 如何检查响应是否属于特定接口(interface)类型?

javascript - 如何管理 QWEB 报告中的空间

reactjs - 如何在 Material UI 的 React 中使用 Typography 作为样式组件

TypeScript:在运行时访问类型信息