仅在heroku上部署的firefox版本上出现错误

仅在heroku上部署的firefox版本上出现错误,heroku,meteor,Heroku,Meteor,这个问题让我发疯,它偷走了我很多时间 我的Meteor应用程序在我的本地开发机器上运行良好,但是当我使用BUILD_PACK=部署它时,我遇到了一个问题,只有Firefox出现了问题,这给了我一个一般性错误 "Exception from Deps afterFlush function function: " …但我无法查看调用堆栈或生成的位置 我检查了构建包和本地开发机器是否使用相同的node.js版本(v0.10.26),显然是在本地使用Meteor集成MongoDB和heroku使用M

这个问题让我发疯,它偷走了我很多时间

我的Meteor应用程序在我的本地开发机器上运行良好,但是当我使用BUILD_PACK=部署它时,我遇到了一个问题,只有Firefox出现了问题,这给了我一个一般性错误

"Exception from Deps afterFlush function function: "
…但我无法查看调用堆栈或生成的位置

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

我不知道如何找到问题

在heroku build版本的Chrome浏览器上,Firefox有这个问题。 在本地机器上,Chrome和Firefox都能正常工作

我也试过去甲酰甲胺,但问题是一样的

编辑:

在Firefox调试控制台上,第1行出现错误(43c9ee3da328e93321624a3179d27858c654879d.js:1)

如果没有js minify,如何在heroku上部署

编辑2:

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

已找到解决方案:

我犯了一个大错误。从外部库抛出的错误。此库仅在firefox上提供此问题

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

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


谢谢你的支持和广告时间

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

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

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

var firstname = People.findOne().name;
这里的假设是人员集合已准备就绪。如果未准备好
People.findOne()
返回
null
并查找
。name
将在加载页面时引发错误

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

同样,这也是最有可能出现错误的地方。还有很多其他原因可能导致错误。Firefox的调试控制台不像Chrome那样具有很强的描述性,因此很难调试


它甚至可能是没有加载的第三方依赖项,您试图在某个地方使用它,就像模板助手一样。

感谢您详尽的解释。但我使用了iron router软件包的waitOn功能。收藏品都准备好了。我还为模拟远程工作在发布函数(服务器端)中插入了一个延迟,但在本地开发机器上,所有工作都很好…也有延迟。我问我为什么在Chrome上工作,但在Firefox上不工作?!?你说得对:Firefox调试控制台不是很有描述性……我也有同样的问题,而且它只存在于Firefox中!为什么是Firefox,你解决了吗?你在使用appcache软件包吗?我之所以这么问,是因为Meteor文档中提到appcache与Firefox不兼容(这是文档中提到的唯一Firefox特有的问题)。不,我不使用appcache:(