moment.js时刻未定义

Efa*_*ley 16 javascript ember.js momentjs

我刚刚在我的Ember.js应用程序中将表格moment@2.1.0更新为moment@2.7.0,现在当我将moment()输入控制台或将其包含在我的脚本中时,我没有定义错误.

在文档中,我看到"从2.4.0开始,全局导出的时刻对象已被弃用".我认为这是问题,但我不确定如何在ember中设置全局矩,以便我们的代码库中对moment()的所有引用都不会被破坏.

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

she*_*nan 15

您需要新文档的" 浏览器"部分.

所以...

<script src="moment.js"></script>
<script>
    moment().format();
</script>
Run Code Online (Sandbox Code Playgroud)

编辑

话虽如此,看起来这可能会给你同样的问题.

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

阅读CommonJSAMD,并尝试将其纳入当前堆栈.

你应该做的事情如下:

var moment = require('moment');

moment().format();
Run Code Online (Sandbox Code Playgroud)

但是为了使用require你需要一个类似前面提到的模块系统.

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