我正在开发一个在后端使用 Node.js
的项目,Angular.js
作为前端,我需要跨不同浏览器捕获应用程序不同资源的页面加载统计信息。我能够通过使用资源计时 API 并将生成的JSON
对象存储在服务器上来收集基本统计信息。但是在SO上读了这个问题后,我了解了回旋镖图书馆,现在我有点困惑。对于单页应用程序(即内置 Angular),使用 Boomerang 而不是资源计时 API 有什么优势?
> Boomerang 是一个开源库,用于测量真实用户的页面加载体验,通常称为真实用户监控 (RUM)。 Boomerang测量页面加载体验的许多方面,包括主页的所有可用网络计时(DNS,TCP,请求,响应)和其他重要的环境特征,例如用户代理信息等。
Boomerang最初是为了帮助监控"传统"页面加载而开发的,您访问的每个页面都会启动新的浏览器导航。 在像 Angular.js 这样的单页应用程序 (SPA) 场景中,您的访问者在获取新内容时不再执行完整的浏览器导航,因为 Angular 根据需要通过 XHR 提取所需的部分并将它们注入 DOM。 今天的 SPA 方案中的回旋镖将监视初始页面加载,但不会监视任何后续 SPA 页面加载。
如果您使用 ResourceTiming 来收集您感兴趣的资源网络统计信息,并且只关心这些统计信息,那么您将不需要回旋镖。 但是,如果您有兴趣收集有关用户整个页面加载体验的更多信息, 回旋镖会收集有关页面加载体验的更多信息,并将信标反馈到您的服务器.
回旋镖有一个强大的插件基础设施,支持扩展以适应您想要的任何场景。 虽然它目前不"支持"开箱即用的 SPA 软页面加载导航,但目前正在开发一个插件来帮助 SPA。