ジャスミンを使用してテストすると、このエラーが発生します。
TypeError:moment.tzは関数ではありません
私がテストしようとしているコードは
let myDate = moment().tz(undefined, vm.timeZone).format('YYYY-MM-DD');
Node.jsを使用している場合、誤って使用している可能性があります
const moment = require('moment');
// モーメント
の代わりに
const moment = require('moment-timezone');
// moment-timezone
また、moment-timezoneがインストールされていることを確認してください
npm install moment-timezone --save
タイムゾーンなしで瞬間を要求するバグは、require('moment')
で瞬間をインストールし、後でnpm install moment-timezone
に決定し、require
の更新を忘れることで発生する可能性があります。
私の下のコード...
import moment from 'moment';
import 'moment-timezone';
私もこの問題に遭遇しました。何年も機能しますが、リファクタリング後は機能しません。私が調査したように、[email protected]
はmoment@>=2.9.0
に依存しますが、これはmoment
自体とは異なる場合があります。
私の場合、moment-timezone
は[email protected]
を使用し、moment
自体のバージョンは2.18.1
です。原因moment-timezone
装飾間違ったmoment
のバージョン。
Yarn.lockを次のように変更しました。
[email protected]:
version "0.5.13"
resolved "https://arti-dev.ss.aws.fwmrm.net/api/npm/fw-npm/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90"
integrity sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=
dependencies:
moment ">= 2.9.0"
[email protected], moment@>= 2.9.0:
version "2.18.1"
resolved "https://arti-dev.ss.aws.fwmrm.net/api/npm/fw-npm/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
integrity sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=
この場合、moment
&moment-timezone
を互いの代わりに使用できます。