Früher war ich in der Lage, moment
, moment-timezone
, moment-business-days
(und moment-range
zu kombinieren, aber das ist in dieser Situation kein Problem) ::
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);
Dies funktionierte in allen Versionen vor dem Upgrade auf 2.19.1. Jetzt bekomme ich folgenden Fehler:
Uncaught TypeError: Cannot read property 'setDefault' of undefined
Und ich habe es auf moment.tz
nicht mehr definiert wurde.
Das Problem ist, wenn ich import moment from moment-timezone
dann moment-business-days
nicht mehr funktioniert.
Umgebung:
Chrome 61 unter MacOS 10.12.6
Kompiliert mit Webpack
Debug-Ausgabe:
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
Irgendwelche Ideen?
Ich glaube, ich bekomme etwas Ähnliches.
Verwenden von import moment from 'moment-timezone'
in dieser Zeile:
var deadlineDisplay = moment.duration(deadlineSeconds, "seconds").format("h [hrs], m [min], s [sec]”)
Wirft diesen Fehler:
Uncaught TypeError: _momentTimezone2.default.duration(...).format is not a function
Ein Rollback auf 2.18.1 funktioniert einwandfrei.
Ich sehe einen ähnlichen Fehler. moment-timezone
sollte nur neue Methoden zu moment
hinzufügen und dann das ursprüngliche moment
-Objekt zurückgeben. Etwas in 2.19.1 führt jedoch dazu, dass moment-timezone
eine völlig andere Instanz als moment
zurückgibt.
require('moment').version // 2.18.1
require('moment') === require('moment-timezone') // true
require('moment').version // 2.19.1
require('moment') === require('moment-timezone') //false
Gleiches für 2.19.0 und 2.19.1
Wird es bald behoben sein? oder gibt es dafür eine bekannte umgehung? Ein Aufenthalt in 2.18.1 ist möglicherweise keine Option mehr ...
Sind Sie sicher, dass dieses Problem bei Moment 2.24.0 und Moment-Timezone 0.5.26 weiterhin besteht? Wenn ich mache:
require('moment-timezone');
var moment = require('moment-business-days');
Ich habe anscheinend kein Problem mit moment.tz
Bitte öffnen Sie erneut, wenn Sie noch Probleme haben.
Dies ist immer noch ein Problem.
erfordern ('Moment'). Version // 2.24.0
require ('moment') === require ('moment-timezone') // true
erfordern ('Moment'). Version // 2.25.3
require ('moment') === require ('moment-timezone') // false
erfordern ('Moment'). Version // 2.26.0
require ('moment') === require ('moment-timezone') // false
erfordern ('Moment'). Version // 2.27.0
require ('moment') === require ('moment-timezone') // false
Seit Version 2.24.0 kann ich keine Zeitzonen mehr einstellen. Das ist ein echter Mist.
Hilfreichster Kommentar
Wird es bald behoben sein? oder gibt es dafür eine bekannte umgehung? Ein Aufenthalt in 2.18.1 ist möglicherweise keine Option mehr ...