javascript エラー「ReferenceError: Can’t find variable: moment」の解決方法

javascript エラー「ReferenceError: Can’t find variable: moment」の解決方法

javascriptで、エラー「ReferenceError: Can’t find variable: moment」が発生した場合の原因と解決方法を記述してます。「moment.js」を読み込む前に関数を使用している場合に発生します。「chrome」や「firefox」や「safari」の各ブラウザのエラーメッセージの画像もキャプチャしてます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.88

エラー内容

以下の、「moment」を使用して現在日時のフォーマットを指定しようとした際に発生。

<script>

console.log(moment().format('YYYYMMDD'));

</script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>

エラーメッセージ

Uncaught ReferenceError: moment is not defined

画像

firefox106の場合でも同じエラーが発生します。

Uncaught ReferenceError: moment is not defined

画像

safari15.5では、以下のエラーとなります。

TypeError: obj.unshift is not a function. (In 'obj.unshift({id: 1})', 'obj.unshift' is undefined)

画像

原因

「moment.js」を読み込む前に使用しているため

解決方法

先に読み込んでから使用する

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>

<script>

console.log(moment().format('YYYYMMDD')); // 20221031

</script>