【问题标题】:Error only with firefox on deployed version on heroku仅在 heroku 上部署的版本上使用 firefox 时出错
【发布时间】:2014-06-06 10:02:31
【问题描述】:

这个问题让我发疯了,它占用了我很多时间。

我的 Meteor 应用程序在我的本地开发机器上运行良好,但是当我使用 BUILD_PACK=https://github.com/oortcloud/heroku-buildpack-meteorite.git 部署它时,我在使用 Firefox 时遇到了问题ONLY,这给了我一个一般性错误

"Exception from Deps afterFlush function function: "

...但我无法查看调用堆栈或生成位置。

我检查构建包和本地开发机器使用相同的 node.js 版本(v0.10.26),显然在本地使用 Meteor 集成的 MongoDB 和在 heroku 上使用 Mongolab 服务。

我不知道如何找到问题。

在 heroku 构建版本上,Chrome 的工作就像一个魅力,Firefox 有这个问题。 在本地机器上,Chrome 和 Firefox 都运行良好

我也试过demeteorize,但问题是一样的......

编辑:

在 Firefox 调试控制台错误位于第 1 行 (43c9ee3da328e93321624a3179d27858c654879d.js:1)

如何在没有 js minify 的情况下在 heroku 上部署?

编辑2:

我已在 *.metor.com 上进行了部署,并且 工作良好! (带和不带 --debug 标志) 问题/错误是 heroku 和/或构建包...但是在哪里?!?

找到的解决方案:

我犯了一个大错误。从外部库抛出的错误。这个库只在 Firefox 上给出了这个问题。

Firefox 控制台调试日志不报告库错误,因为对该 API 库的调用是在观察者方法中完成的。

heroku 和本地开发机器都存在这个问题...我觉得很傻

感谢您对广告时间的支持!

【问题讨论】:

  • 你使用的是appcache包吗?我之所以问,是因为 Meteor 文档中提到了 appcache 不适用于 Firefox(这是文档中提到的唯一 Firefox 特定问题)。
  • 不,我不使用 appcache :(

标签: heroku meteor


【解决方案1】:

此错误来自您的客户端代码,它的部署方式不太可能改变它(Demeteorizer,使用meteor deploy 等)

这些错误通常来自您在尚未准备好数据的情况下读取数据。在您的本地主机上,延迟非常低,通常数据会立即准备好,您不会注意到问题。

这是可能导致此类问题的代码示例:

var firstname = People.findOne().name;

这里假设人员集合已准备就绪。如果它没有准备好People.findOne() 返回null 并且寻找.name 将在加载页面时抛出错误。

要解决此问题,您必须找到使用上述代码的位置(显然您的代码将具有不同的名称和结构)并首先检查集合是否准备就绪,或者搜索的结果是否确实存在。

同样,这只是最有可能出现错误的地方。还有很多其他原因可能导致错误。 Firefox 的调试控制台描述性不是很好,因为 Chrome 的调试控制台非常困难。

它甚至可能是第 3 方依赖项未加载,您尝试在模板助手之类的地方使用它。

【讨论】:

  • 感谢您详尽的解释。但我使用 Iron-router 包的 waitOn 功能。收藏品都准备好了。我还在发布功能(在服务器端)中插入了延迟以模拟远程工作,但在本地开发机器上一切正常......也有延迟。我在问我为什么在 Chrome 上可以工作,但在 Firefox 上不行?!?你说得对:Firefox 调试控制台的描述性不是很强...
  • 我也遇到了同样的问题,而且只出现在 Firefox 中!为什么是 Firefox,你解决了吗?
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 2022-11-08
  • 2021-09-02
  • 2018-08-02
  • 2020-12-27
  • 2017-12-14
  • 1970-01-01
  • 2015-04-28
相关资源
最近更新 更多