Отображать даты, используя момент, веб-пакет и локаль из браузера - PullRequest
0 голосов
/ 11 января 2019

Среда - React, Webpack, в браузере. Этот код работает:

console.log(new Date().toLocaleString(window.navigator.language))
=> en-au 11/01/2019, 1:33:20 pm

Но он не обеспечивает управление форматированием. Этот код тоже работает:

import moment from 'moment'
import 'moment/locale/en-au'
import 'moment/locale/fr'

moment.locale(window.navigator.language)
console.log(moment().format('L LTS'))
=> en-au 11/01/2019 1:33:20 PM

Итак, moment делает все, что мне нужно, но этот код работает только в США, Австралии и Франции. Похоже, что Webpack «встряхивает дерево» и удаляет все другие локали, предоставляемые moment, кроме явно «обязательных».

Вопросы:

  • Правильно ли я понял?
  • Это «правильный» способ сделать это?
  • Есть ли способ предварительно загрузить все / большинство / много языков без необходимости перечислять их все?

Чтобы попробовать это, начните с create-реагировать-приложение, а затем добавьте приведенный выше код. Протестируйте его с какой-либо локалью, явно не загруженной (например, 'de'). В моем тестовом моменте по умолчанию будет «en», что означает «en-us».

...