Backbone.js 错误报告实践
Posted
技术标签:
【中文标题】Backbone.js 错误报告实践【英文标题】:Backbone.js error reporting practices 【发布时间】:2012-11-23 08:39:50 【问题描述】:我正在设计一个相当健壮的富客户端应用程序,我倾向于将客户端代码基于 Backbone,我对可用/推荐的错误报告实现感到好奇。
由于我们对胖客户端代码的依赖,我们希望尽可能多地了解发生的 javascript 错误。
想法?
【问题讨论】:
【参考方案1】:我建议让您的主要 App
命名空间对象扩展 Backbone.events
并监听“错误”事件并相应地报告详细信息。这将是聚合所有错误并统一报告它们的一个很好的中心位置。您可以结合各种技术来实际记录错误,包括向用户显示通知、将一些详细信息添加到 DOM 中的隐藏节点以获得技术支持,或者将详细信息发送到 Web 上的远程服务。
然后在整个代码库中,您将需要实际检测/捕获错误(这通常意味着在 JavaScript 中显式编码以检查它们),收集相关信息(可能是一个不错的堆栈跟踪),并触发“错误”事件进入App
事件总线。这可能是错误,例如在渲染视图时应该存在的 DOM 选择器丢失、从服务器接收到的意外数据等。
对于 AJAX/HTTP 请求的错误,您可以覆盖 Backbone.sync
并在那里添加额外的错误报告。这是一个很好的中心位置,您与服务器的所有交互都将在这里发生。遵循相同的模式来检测错误、收集详细信息、将“错误”事件触发到主 App
事件总线,然后在可能的情况下允许应用程序继续运行,或者在错误不可恢复时正常降级/失败。
【讨论】:
以上是关于Backbone.js 错误报告实践的主要内容,如果未能解决你的问题,请参考以下文章