我的 Ember 应用程序的缩小 vendor.js 时刻是未定义的错误

moment is undefined error from my Ember app's minified vendor.js

我有一个 Ember.js 应用程序(不是 ember-cli)使用 moment.js 与 grunt 和 bower 一起工作。

当应用程序在本地运行时,一切正常。但是当我们推向生产并且所有依赖项都被缩小并连接在一起时,moment.js 并不像通常那样作为全局存在(Ember throws "moment is not defined")。但是,如果我查看我的源代码中的 vendor.js,我可以看到一些 moment 的源代码(虽然没有明确的 window.moment = foo 等),所以它肯定可以投入生产。

我在下面看到过这个问题: moment.js moment is undefined,并尝试将我的 moment 版本升级到 2.4 之前,但无济于事。

不确定 grunt 如何在构建阶段将所有内容编译在一起,但是任何关于我如何在不安装新包管理器的情况下明确定义 moment 或解决这个烦人的问题的建议将不胜感激。

在您的 index.html 中 - 您是否将 moment.js 文件包含在正确的部分?最有可能的是,它应该在:

<!-- build:js(tmp/result) /assets/vendor.min.js -->

绝对不低于

<!-- @if dist=false -->

这也可以通过使用正确版本的 datetimepicker 和 momenent.js

来解决

Download both from this site