总述
BadJS.js是一个开源的前端脚本错误监控及跟踪系统,由腾讯imweb团队开发,此项目旨在帮助开发者及时发现和解决网页中的JavaScript错误,从而提高用户体验和应用质量,BadJS支持单机、集群和Docker部署,并且可以与MongoDB等存储系统集成,本文将详细介绍BadJS的功能、安装步骤、使用方法以及常见问题解答。
功能
一站式体系化解决方案
BadJS提供一站式的错误监控解决方案,业务只需要进行简单配置并引入上报文件,即可实现脚本错误上报和每日统计邮件跟踪。
可视化查询系统
通过BadJS的可视化查询系统,开发人员可以快速定位错误信息,该系统能巧妙定位错误脚本代码,并通过各种查询条件找到详细错误日志。
真实用户体验监控与分析
BadJS通过浏览器端真实用户行为与体验数据监控,提供JavaScript、AJAX请求错误诊断和页面加载深度分析,帮助开发人员深入定位每一个问题细节。
用户行为分析
BadJS能够细粒度追踪真实的用户行为操作及流程,包括前端崩溃、加载缓慢及错误问题,并能关联到后端进行深度诊断。
产品质量的保障
由于浏览器种类繁多且用户环境复杂,开发人员难以重现用户遇到的问题,通过BadJS上报用户端脚本错误,为产品质量保驾护航。
安装步骤
环境要求
Node.js 0.12+
MySQL 5.0+
MongoDB 3.0+
Git命令用于拉取各个系统模块
安装步骤
1、克隆源码:使用Git命令克隆BadJS源码。
git clone https://github.com/BetterJS/badjs-installer.git
2、拉取各个模块:进入badjs-installer目录,运行以下命令拉取各个模块。
npm run clone
3、安装依赖:运行以下命令安装依赖,对于新用户,建议进入各个模块进行npm install,如果npm不好使,请用yarn试试。
npm run install
4、导入SQL文件:进入badjs-web/db目录,将create.sql导入到MySQL中。
5、安装MySQL和MongoDB:确保MySQL和MongoDB已安装并配置好,不需要验证也可以登录(即无用户名和密码登录)。
6、修改配置文件:修改badjs-installerbadjs-web下的配置project.json中的MySQL数据库用户名和密码,默认是用户名和密码都是root,可以改成自己的。
7、启动服务:运行以下命令启动各个模块。
npm run start
8、配置和测试:访问http://127.0.0.1:8081/index.html,进入页面确定启动成功,使用用户名admin和密码admin登录,申请一个项目并审核通过。
测试与使用
下载测试项目
下载BadJS官方提供的测试项目,地址如下:
https://github.com/BetterJS/badjs-report
在badjs-report/example目录下找到index.html文件,内容如下:
<!Doctype html> <html lang="en"> <head> <title>example</title> <script src="../src/bj-report.js"></script> <script src="../src/bj-wrap.js"></script> <script src="../src/requirejs/require.js"></script> </head> <body> <script> BJ_REPORT.init({id: 1, uin : 1, random: 1, url:"http://127.0.0.1:80/badjs"}); //主动上报错误日志 BJ_REPORT.report("终于成功了"); //info上报,用于记录操作日志 BJ_REPORT.info("info"); //可以结合实时上报,跟踪问题; 不存入存储 BJ_REPORT.debug("debug"); //记录离线日志 BJ_REPORT.offlineLog("offlineLog"); var mm = 1 / 0; var a = b; </script> </body> </html>
注意:BJ_REPORT.init
中的id一定要有,用在步骤4配置的项目里的上报id就行了。
查看效果
刷新index.html页面,查看BadJS是否成功捕获并上报错误日志。
技术架构与实现
基本架构
BadJS的基本架构分为上报端、接收端、存储端和管理端三部分,具体如下:
上报端:负责捕捉JavaScript错误并将其上报,主要通过window.onerror方法捕捉全局错误事件。
接收端:接受上报的数据,进行整理和校验后,通过ZMQ组件传递给存储端。
存储端:负责将传递过来的数据进行存储,使用MongoDB作为主存储,file作为辅助cache。
管理端:将存储的数据以人性化的形式呈现出来,使用MySQL作为存储。
核心组件
badjs-acceptor:负责数据接收和转发。
badjs-mq:负责数据过滤和分发。
badjs-storage:基于MongoDB的数据存储。
badjs-web:PC端的数据展示和管理后台。
badjs-report:前端上报组件。
常见问题解答
Q1:如何在项目中集成BadJS?
A1:在项目中集成BadJS非常简单,只需按照以下步骤操作:
1、在项目的HTML文件中引入BadJS的JavaScript文件。
2、在JavaScript代码中初始化BadJS,配置相关参数如上报ID、URL等。
3、使用BadJS提供的API主动上报错误日志或记录操作日志。
Q2:如何配置BadJS以适应不同的环境?
A2:BadJS提供了灵活的配置选项,可以通过修改配置文件来适应不同的环境,可以设置抽样率以在生产环境中减少上报频率,或者配置忽略规则以过滤掉不重要的错误,详细的配置说明可以参考官方文档。
BadJS是一款功能强大的前端脚本错误监控工具,能够帮助开发者及时发现和解决网页中的JavaScript错误,提高应用质量和用户体验,通过简单的配置和集成,开发者可以轻松地在项目中使用BadJS来进行错误监控和分析。
各位小伙伴们,我刚刚为大家分享了有关“badjs.js”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/695738.html