Vue 模块,moment-timezone - 如何正确加载 moment-timezone 以及如何使用 2012-2022 数据

Vue modules, moment-timezone - How to load moment-timezone correctly and how to use the 2012-2022 data

我正在为我的 Vue 项目使用来自 vue-cli 的 webpack 模板,并且我在 npm 中安装了 moment 和 moment-timezone。

在我的单个文件组件中,通过包含以下导入行,我已经能够使用 moment-timezone 工作:

import moment from 'moment'
import moment_timezone from 'moment-timezone'

从未使用过 moment_timezone 对象,但似乎需要它才能使 moment.tz 函数正常工作。

我的问题是:

  1. 这是在我的设置中加载时刻和时刻时区的正确方法吗?
  2. 如何只加载来自 moment-timezone-with-data-2012-2022.min.js 的数据?我在 moment-timezone 包的构建目录中看到它,但我不清楚如何指定那是我想使用的数据。

回答我自己的问题,因为我似乎已经解决了。

1 - moment-timezone 似乎需要使用 moment,所以如果你打算同时使用 moment 和 moment-timezone,你可以简单地从moment-timezone 模块,它会工作得很好。所以...

import moment from 'moment'
import moment_timezone from 'moment-timezone'

变成

import moment from 'moment-timezone'

2 - Moment-timezone 包含代表完整 moment-timezone 代码的文件以及 data/builds 下数据的特定版本。您可以直接从这些文件中导入 moment-timezone,而无需在模块的根目录中导入 moment-timezone.js 文件。所以...

import moment from 'moment-timezone'

变成

import moment from 'moment-timezone/data/builds/moment-timezone-with-data-2012-2022.js'