Lors de l'exécution du petit fichier html ci-dessous, l'erreur de journal de la console suivante apparaît:
moment.js:13 Uncaught TypeError: Cannot read property 'defineLocale' of undefined
at moment.js:13
at moment.js:9
at moment.js:10
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="../scripts/libraries/moment.js"></script>
</head>
<body>
<script>
var now = moment()
console.log(now);
</script>
</body>
</html>
J'ai également essayé de remplacer la référence à la bibliothèque locale par ce lien CDN: https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/locale/af.js
Quelqu'un sait ce que cette erreur est?
Cela semble être un problème avec votre version de moment.js
. Le script que vous avez est uniquement pour locale
, vous devez inclure le script moment.js
:
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
</head>
<body>
<script>
var now = moment()
console.log(typeof moment.defineLocale)
</script>
</body>
</html>
Cette erreur se produit également lorsque vous incluez les paramètres régionaux js avant le moment js.
Par exemple, le suivant donne une erreur:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/locale/tr.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
Pour corriger, il suffit de mettre le moment js ci-dessus à la locale js.