2012-12-05 25 views
1

我正在設計一個相當健壯的富客戶端應用程序,我傾向於將客戶端代碼基於Backbone,並且對可用/推薦的錯誤報告實現感到好奇。Backbone.js錯誤報告實踐

由於我們依賴胖客戶端代碼,我們希望儘可能多地瞭解有關javascript錯誤發生的信息。

想法?

回答

3

我建議讓你的主要App命名空間對象擴展爲Backbone.events並監聽「錯誤」事件並相應報告細節。這將是彙總所有錯誤並統一報告的一個不錯的中心位置。您可以結合各種技術實際記錄錯誤,包括向用戶顯示通知,向DOM中的隱藏節點添加一些細節以獲得技術支持,或者將詳細信息發送到Web上的遠程服務。

然後在整個代碼庫中,您將需要實際檢測/捕獲錯誤(通常意味着顯式編碼以便在JavaScript中檢查它們),收集相關信息(可能是一個體面的堆棧跟蹤)並激發「錯誤「事件進入App事件總線。這可能是錯誤,比如DOM渲染器在選擇視圖,從服務器接收到意外數據等時應該存在的錯誤。

對於AJAX/HTTP請求錯誤,您可以覆蓋Backbone.sync並在其中添加一個額外的錯誤報告。這是一個不錯的中心位置,您可以與服務器進行所有交互。按照相同的模式檢測錯誤,收集詳細信息,在主要的App事件總線中觸發「錯誤」事件,然後允許應用程序在可能的情況下繼續執行,或者如果錯誤不可恢復,則會正常降級/失敗。