Moment: 2.19.1: tidak dapat lagi menggabungkan momen, momen-zona waktu, dan momen-bisnis-hari

Dibuat pada 12 Okt 2017  ·  7Komentar  ·  Sumber: moment/moment

Saya dulu dapat menggabungkan moment , moment-timezone , moment-business-days (dan moment-range tetapi yang itu tidak menjadi masalah dalam situasi ini), seperti itu :

import 'moment-timezone';
import moment from 'moment-business-days';
import { extendMoment } from 'moment-range';

moment.locale('en-us', {
    week: {
        dow: 1, // Monday is the first day of the week
    },
    holidays: [
        '2017-10-09',
        '2017-12-25',
        '2018-01-01',
        '2018-04-02',
        '2018-05-21',
        '2018-06-25',
        '2018-07-02',
        '2018-09-03',
        '2018-10-08',
        '2018-12-24',
        '2018-12-25',
    ],
    holidayFormat: 'YYYY-MM-DD',
});

moment.tz.setDefault('America/Montreal');

export default extendMoment(moment);

Ini bekerja di semua versi sebelum meningkatkan ke 2.19.1. Sekarang saya mendapatkan kesalahan berikut:

Uncaught TypeError: Cannot read property 'setDefault' of undefined

Dan saya menelusurinya hingga moment.tz tidak lagi didefinisikan.

Masalahnya adalah jika saya import moment from moment-timezone maka moment-business-days tidak akan berfungsi lagi.

Lingkungan Hidup:

Chrome 61 di MacOS 10.12.6
Dikompilasi dengan webpack

keluaran debug:

Thu Oct 12 2017 12:29:48 GMT-0700 (PDT)
10/12/2017, 12:29:48 PM
420
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
2.19.1

Ada ide?

Bug Up-For-Grabs

Komentar yang paling membantu

apakah ini akan diperbaiki dalam waktu dekat? atau apakah ada solusi yang diketahui untuk ini? tetap menggunakan 2.18.1 mungkin bukan pilihan lebih lama ...

Semua 7 komentar

Saya yakin saya mendapatkan sesuatu yang serupa.

Menggunakan import moment from 'moment-timezone' pada baris ini:

var deadlineDisplay = moment.duration(deadlineSeconds, "seconds").format("h [hrs], m [min], s [sec]”)

Melempar kesalahan ini:

Uncaught TypeError: _momentTimezone2.default.duration(...).format is not a function

Mengembalikan ke 2.18.1 berfungsi dengan baik.

Saya melihat kesalahan serupa. moment-timezone seharusnya hanya menambahkan metode baru ke moment , dan kemudian mengembalikan objek moment . Namun, sesuatu di 2.19.1 menyebabkan moment-timezone mengembalikan contoh yang sama sekali berbeda dari moment .

require('moment').version // 2.18.1
require('moment') === require('moment-timezone') // true
require('moment').version // 2.19.1
require('moment') === require('moment-timezone') //false

Sama untuk 2.19.0 dan 2.19.1

apakah ini akan diperbaiki dalam waktu dekat? atau apakah ada solusi yang diketahui untuk ini? tetap menggunakan 2.18.1 mungkin bukan pilihan lebih lama ...

Apakah Anda yakin masalah ini masih ada dengan Momen 2.24.0 & zona waktu-waktu 0.5.26? Bila saya lakukan:

require('moment-timezone');
var moment = require('moment-business-days');

Sepertinya saya tidak mengalami masalah saat menggunakan moment.tz

Silakan buka kembali jika Anda masih mengalami masalah.

Ini masih menjadi masalah, tho.

membutuhkan ('momen'). versi // 2.24.0
membutuhkan ('moment') === membutuhkan ('moment-timezone') // true

membutuhkan ('momen'). versi // 2.25.3
membutuhkan ('moment') === membutuhkan ('moment-timezone') // false

membutuhkan ('momen'). versi // 2.26.0
membutuhkan ('moment') === membutuhkan ('moment-timezone') // false

membutuhkan ('momen'). versi // 2.27.0
membutuhkan ('moment') === membutuhkan ('moment-timezone') // false

Jadi sejak versi 2.24.0 saya tidak dapat mengatur zona waktu. Ini benar-benar mengecewakan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat