【问题标题】:moment is undefined error from my Ember app's minified vendor.js时刻是来自我的 Ember 应用程序的缩小 vendor.js 的未定义错误
【发布时间】:2015-01-27 19:40:34
【问题描述】:

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

当应用程序在本地运行时,一切正常。但是当我们推送到生产环境并且所有依赖项都被缩小并连接在一起时,moment.js 不像通常那样作为全局存在(Ember 抛出“moment 未定义”)。但是,如果我查看源代码中的 vendor.js,我可以看到一些 moment 的源代码(尽管没有明确的 window.moment = foo 等),所以它肯定会用于生产。

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

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

【问题讨论】:

    标签: ember.js gruntjs dependencies momentjs


    【解决方案1】:

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

    Download both from this site

    【讨论】:

      【解决方案2】:

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

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

      绝对不低于

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

      【讨论】:

      • 感谢您的反馈。是的,它在“”块中。我最终将它移动到“” 以及我们应用程序的其余脚本最终解决了问题,尽管非常不令人满意方式。
      • 为什么不满意?如果您不喜欢在 index.html 中包含构建命令的概念,您应该例如开始使用 ember-cli ;)
      • 大声笑当然。我们最初使用的是 ember-cli(它很好地处理了我们所有的依赖项),但我们遇到了一大堆问题,试图让 CORS 与我们在 heroku 上的节点服务器一起工作。看起来这将是一个足够简单的操作,但显然这是 ember-cli 团队意识到的。
      猜你喜欢
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      相关资源
      最近更新 更多