javascript - moment.js 时刻未定义

标签 javascript ember.js momentjs

我刚刚在我的 Ember.js 应用程序中将表单 moment@2.1.0 更新为 moment@2.7.0,现在当我在控制台中输入 moment() 或将其包含在脚本。

在文档中我看到“从 2.4.0 开始,不推荐使用全局导出的 moment 对象。”我认为这是这里的问题,但我不确定如何在 ember 中全局设置 moment,以便当前代码库中对 moment() 的所有引用都不会被破坏。

我已经尝试将我们正在执行 require('moment') 的行更新为 var moment = require('moment') 但它具有相同的结果。即使我直接在 var moment = ... 行之后放置一个调试器,然后在控制台中输入 moment(),我仍然会得到那个 moment 是未定义的。

最佳答案

你想要 Browser新文档的一部分。

所以...

<script src="moment.js"></script>
<script>
    moment().format();
</script>

编辑

话虽如此,看起来这可能会给您带来同样的问题。

看起来像Moment.js试图鼓励您使用包管理器,以免用全局变量弄脏命名空间。

继续阅读 CommonJSAMD ,并尝试将其纳入您当前的堆栈。

你应该这样做:

var moment = require('moment');

moment().format();

但是为了使用require,你需要一个像前面提到的那样的模块系统。

但是

显而易见的解决方法是回滚您的 Moment.js 版本,只要您不需要新功能即可。一个简单的时间/日期库的更新到底有多重要?

关于javascript - moment.js 时刻未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24520828/

相关文章:

javascript - 如何将 jQuery 函数应用于所有具有相同类的元素。?

ember.js - 获取 Ember DS.Model 类的服务器 URL

javascript - 根据给定日期获取周一至周日

typescript - 如何将外部类型导入全局 .d.ts 文件

javascript - 按月对日期进行分组,然后使用 lodash 和 moment 降序排序

javascript - 切换音乐的onClick图片

javascript - 鼠标悬停在不覆盖整个 Div 的区域上

ember.js - 在 emberjs 中创建向下钻取 View

javascript - 如何编写带有脚本的 html 页面以在 node.js 中进行响应?

testing - 带有 emberjs 的 CI