2014-06-06 21 views
0

这个问题,部署的版本让我疯了,它偷了我很多时间。错误只用Firefox上在Heroku

我的流星应用工作好我的本地开发机器上,但是当我BUILD_PACK = https://github.com/oortcloud/heroku-buildpack-meteorite.git部署它,我有一个问题ONLY与Firefox,这给我一个普通的错误

"Exception from Deps afterFlush function function: " 

...但我无法查看调用堆栈或生成的地方。

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

我不知道如何找到问题。

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

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

编辑:

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

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

EDIT2:

我已经部署在* .metor.com和工作的良好! (有和没有--debug标志) 问题/错误的Heroku和/或建立包...但在哪里?!?

解决方案查找:

我犯了一个大错误。来自外部库的错误抛出。该库仅在Firefox上提供此问题。

火狐控制台调试日志不报告库错误,因为这个API库调用它完成到观察者方法。

问题上双方的Heroku和本地开发机器上存在......我感到很无聊

感谢的人的支持广告的时间!

+0

您使用的是appcache包吗?我只问,因为在Meteor的文档中提到了一些与Firefox不兼容的appcache(并且这是文档中提到的唯一的Firefox特定问题)。 –

+0

不,我不使用appcache :( – elbowz

回答

1

此错误是从你的客户端代码,它的部署方式是不太可能改变它(Demeteorizer,使用流星部署,而不是等)

这些错误通常来自于你没有它准备好读数据然而。在你的本地主机上,延迟非常低,通常数据已经准备就绪,你不会注意到这个问题。

这是代码的例子,可能会导致这样一个问题:

var firstname = People.findOne().name; 

这里的假设是,人收藏已准备就绪。如果它没有准备好,People.findOne()返回null和寻找.name将在加载页面时抛出一个错误。

要解决这个问题,你必须找到你已经使用过的代码(显然你的代码会有不同的名称和结构),并检查收集是否准备就绪,或者检查结果是否真的存在。

再次,这只是最可能发生错误的地方。还有其他很多可能导致错误的原因。 Firefox的调试控制台不是很具描述性,因为Chrome的调试非常困难。

它甚至可能是第三方依赖没有加载,你试图在模板助手的地方使用它。

+0

感谢您的详尽解释,但我使用waitOn铁路由器软件包的功能。集合已准备就绪 我也在发布函数中插入延迟(在服务器端)为了模拟远程工作,但是在本地开发机器上,所有的工作都很好...也延迟了。 我问我为什么在Chrome上工作,但不在Firefox上? 您有权利:Firefox调试控制台isn' t非常具有描述性...... – elbowz

+0

我有同样的问题,它只在Firefox中!为什么选择Firefox,你解决了它? – nearpoint