Модули Vue, момент-часовой пояс - Как правильно загрузить момент-часовой пояс и как использовать данные 2012-2022 гг.

Я использую шаблон webpack из vue-cli для своего проекта Vue, и в npm установлены как момент, так и часовой пояс.

В моих однофайловых компонентах я смог получить момент для работы с моментом-часовым поясом, включив следующие строки импорта:

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

Объект moment_timezone никогда не используется, но, похоже, он должен быть там, чтобы функции moment.tz работали.

Мои вопросы:

  1. Это правильный способ загрузить момент и часовой пояс в моей настройке?
  2. Как загрузить только данные из moment-timezone-with-data-2012-2022.min.js? Я вижу это в каталоге сборок пакета момент-часовой пояс, но я не понимаю, как указать, что это данные, которые я хотел бы использовать.

person Slotheroo    schedule 11.07.2018    source источник


Ответы (1)


Отвечая на свой вопрос, так как я, кажется, разобрался.

1. Кажется, что часовой пояс момента требует использования момента, поэтому, если вы собираетесь использовать как момент, так и часовой пояс, вы можете просто импортировать момент из модуля момент-часовой пояс, и он будет работать. просто хорошо. Так...

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

становится

import moment from 'moment-timezone'

2 - Момент-часовой пояс содержит файлы, которые представляют полный код момента-часового пояса, а также конкретные версии данных в разделе данные / сборки. Вы можете импортировать момент-часовой пояс прямо из этих файлов, не импортируя файл moment-timezone.js в корень модуля. Так...

import moment from 'moment-timezone'

становится

import moment from 'moment-timezone/data/builds/moment-timezone-with-data-2012-2022.js'
person Slotheroo    schedule 17.07.2018
comment
Спасибо! Это облегчает жизнь. Для тех, кто хочет сделать Moment доступным глобально в своем приложении Vue, вы можете импортировать его в свой файл app.js, а затем добавить как свойство экземпляра Vue. import moment from 'moment-timezone'; Vue.prototype.$moment = moment; Затем вы можете получить к нему доступ в фигурных скобках {{$ moment ()}} или в методах this. $ Moment (). - person Josh; 18.08.2020