"moment is not defined" 使用 moment.js

27

我正在使用moment.js,但在测试moment.js库时仍然遇到错误。

var back30Days=moment().subtract(30, 'days').format("dddd, MMMM Do YYYY, h:mm:ss p");

它返回"moment not defined.",指的是.format("dddd, MMMM Do YYYY, h:mm:ss p");

我已经阅读了文档,一切看起来都很好,但当我重新加载页面时,我正在使用的JS不会加载。

任何提示将不胜感激!


2
你是如何导入库的?请发布你的代码。 - yuriy636
似乎对我来说工作正常。https://jsfiddle.net/vbgdke3L/ - Bryan Dellinger
我已经下载了这个库,并在我的index.html文件中使用<script>标签引入,同时也使用了CDN。 - alej_2020
@alej_dra,你试过我的解决方案了吗?只使用CDN查看是否有效,确保在使用它之前已加载moment.js。 - Dalin Huang
我试过了,但是还是出现了相同的错误。尝试另一段代码... - alej_2020
搞定了,谢谢Daniel!我的脚本顺序错了! - alej_2020
1个回答

37

使用最新的momentjs:

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

var back30Days=moment().subtract(30, 'days').format("dddd, MMMM Do YYYY, h:mm:ss p");

console.log('back30Days --> ' + back30Days);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>


当我刷新页面时,我会得到相同的错误,但在页面加载时第一次不会出现。 - Pawan Kotak
@PawanKotak 你可以将该库下载到你的项目中并使用它。有时,如果你的库也使用了momentjs,它可能是一个旧版本并覆盖了你自己的momentjs,请尝试打印 moment.version 看看你得到了什么? - Dalin Huang
我尝试将库包含到项目中,但问题仍然存在。尝试打印版本,但出现错误“moment未定义”。即使我尝试使用$getscript动态再次包含Moment.js,它调用成功回调,在其中当我尝试访问moment时出现相同的问题。 - Pawan Kotak
@PawanKotak "moment is not defined",你的引用没有起作用,所以库没有加载,这是一个常见问题,请尝试调试:1. 清除缓存。2. 在<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>之后立即调用moment并查看结果。 - Dalin Huang
3
如果你和我一样,因为没关注而感到困惑,请确认你正在使用上述CDN来获取MomentJs核心,而不是独立的区域设置。因为我习惯了直接复制粘贴,所以CDNJs让我感到困惑。在他们的网站上,/Moment.Js才是区域设置的主机。 - CodeSpent
这个 CDN 能用于 React 应用吗?我遇到了“moment is not defined”的问题。 - ManirajSS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接