[英]Meteor cannot read property 'click' of undefined
我遇到一个问题,即仅在生产环境(而不是开发环境)中,我得到数百个cannot read property 'click' of undefined
而每次单击的结果为3-30,而有一些cannot read property 'submit' of undefined
。 这可能不是Meteor的问题,而是我的代码的问题,所以我只是在寻找任何想法,为什么会发生这种情况或如何调试它。 我所有的事件都在Template.events
或Template.rendered
。 它发生在每个页面上,无论我在哪里单击。
有几件事可能会导致这种情况。
首先是在生产模式下的延迟要高得多。 因此,如果您自动假定在呈现模板时已经准备好数据,则可能会遇到各种undefined
因为在初始加载流星时,对象在很短的时间内为null
。
您可以检查代码以查看是否使用过findOne
或find
。 对于该初始负载,您需要确保在没有任何结果的情况下正确处理查询的结果。 即
var data = myCollection.findOne(...);
if(data) {
....
}
要么
var data = myCollection.find(...);
if(data.count()>0) {
....
}
可能导致它的另一件事是您正在使用的大气包,它们可能未正确映射。
要检查此内容,请在chrome检查器中查看“网络”标签:
查找扩展名与内容不匹配的文件(js和css文件)。
如果文件是.js
文件,则可能包含HTML内容(Meteor不会提供404错误,而是为HTML提供无论调用哪个路径,因此都不会显示任何错误)。
如果是这种情况,请找出它是哪个文件并正确映射。 (您可能将click调用到未正确加载的插件)。 在生产模式下,文件会最小化,并且包路径会更改,因此也可能是这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.