詹前鑫

Results 2 issues of 詹前鑫

> 最近在研究前端监控方案,由于工作需要研究了下鹅厂的badjs源码,主要是看了前端上报这一块,也就是badjs-report。关于badjs的使用可以看下[官方文档](https://github.com/iv-web/badjs2) ## 前端监控痛点 了解一个框架或者库之前要先思考它想解决的是什么问题。[前端异常监控系统的落地](https://zhuanlan.zhihu.com/p/26085642)这篇文章比较详细地总结了前端监控所需要解决的问题,总结了下有: 1. 错误拦截 2. 上报错误 3. 离线错误日志存储 4. 错误路径回放 5. 日志可视化管理后台 6. 压缩单行文件的源码定位 7. 邮箱(短信)提醒 上面的功能除了第四点和第六点,badjs2都已经实现到。其中错误拦截、上报错误和离线错误日志存储是由前端组件badjs-report来实现的。而badjs-report的代码主要有三大入口:init初始化、onerror改写和reportOfflinelog上报离线日志。下面将一一介绍这三大入口如何调用其他函数并实现功能(限于篇幅限制,下面贴的代码有所删减,可结合源码理解)。 ## BJ_REPORT.init初始化 badjs-report是在全局对象中插入BJ_REPORT对象,它提供了init()来进行初始化,该函数方法接受一个对象作为配置参数。 首先是将传入的配置参数对象的值覆盖私有_config对象的值。 ``` init: function(config) { if (T.isOBJ(config))...

我看里面对各种标签的字体大小都是用em为单位,这样不同屏幕下字体大小差距会有点大吧?