2013-08-29 63 views
0

我有一個問題,即在生產中只(未開發),我得到數百cannot read property 'click' of undefined與3-30的每一次點擊,和幾個cannot read property 'submit' of undefined。這很好或許不是Meteor的問題,但是用我的代碼,所以我只是在尋找任何想法,爲什麼這可能會發生,或者我可以如何調試它。我所有的活動都在Template.eventsTemplate.rendered。它發生在每一頁上,無論我點擊哪裏。流星無法讀取屬性「點擊」的未定義

+0

那麼,你在兩個環境中運行相同的代碼,它會產生不同的結果? –

+0

你能提供一個鏈接到發生這種情況的網站嗎?你有沒有試過看堆棧跟蹤,並在拋出錯誤的地方設置調試點? – jrullmann

回答

1

有一對夫婦的事情,可能導致此。

首先,在生產模式延遲是高很多。所以,如果你已經自動假定當模板被渲染的數據已準備好,你可以得到各種undefined爲對象的是null在很短的時間,當流星initally負載。

您可以檢查您的代碼,看看您是否使用過任何findOnefind。您需要確保在沒有任何結果的情況下針對該初始加載正確處理查詢結果。即

var data = myCollection.findOne(...); 

if(data) { 
.... 
} 

var data = myCollection.find(...); 

if(data.count()>0) { 
.... 
} 

可能導致它是您正在使用的可能不正確映射大氣包其他的事情。

要檢查這必須在Chrome檢查看看你的網絡標籤:

enter image description here

通過看的文件擴展名衛生組織不與其內容相匹配(JS & css文件)。

如果一個文件是.js文件,它可能包含HTML內容(Meteor不會提供404錯誤,而是給它們html指定被調用的路徑,所以不會給出明確的錯誤)。

如果是這種情況弄清楚哪個文件是正確映射。 (你可能會打電話點擊一個沒有正確加載的插件)。在生產模式下,文件被縮小,包路徑發生變化,所以這也可能是它。

+0

我不完全確定發生了什麼,但是當我今天早上再次檢查時,我再也看不到這些錯誤了。雖然,你幫我解決了另一個問題,甚至不知道我有它,所以謝謝哈哈。我得到了一大堆'AfterFlush函數後的異常:未定義',但當我檢查延遲時,我肯定會少得多,希望很快就會降到0。 – ZDixon

相關問題