一文带你了解 PageSpy,开启前端调试新姿势

78 天前
 blucas01

前言

推荐一款多端的开源调试工具 PageSpy ,官方地址:https://pagespy.org

这款工具可以拿来做什么?如何使用?

接下来的内容会一一说明,你也可以前往官网的回放实验室体验:https://pagespy.org/#/replay-lab

介绍

日常开发中,项目出现问题基本都会通过 本地浏览器控制台 排查。可有些时候因为无法使用控制台,而导致排查故障需要多花费很多时间和人力,比如:

上述场景中列举的问题的共同点是:开发者无法像使用本地控制台一样查看程序运行信息。

你也被这些问题困扰了吗?那 PageSpy 可以给你一些帮助。

能力

为了方便理解,我们通过实例对 PageSpy 的使用场景和能力进行说明。

PageSpy 在线实时调试

产品联调期间,测试人员上报问题后,开发者通过 「 PageSpy 在线实时调试」 查看程序的运行数据,其中包括实时的 Console 、Network 、Page 、Storage 以及 System 信息,还可以发送代码到真机上执行;

PageSpy 日志回放调试

假设你开发的工厂系统已经上线、交付使用,某日系统使用人员反馈某个流程不符合预期,但是由于办公地点不同你们只能线上交流。

系统接入 PageSpy 之前,定位问题可能需要对方提供:

系统接入 PageSpy 之后,收到类似的反馈只需告诉对方 上传日志 即可。(不用担心!上传 / 下载离线日志的功能 PageSpy 都已经提供。)

对方上传完成后就可以前往回放调试,开发者除了可以看到运行时数据外,还可以看到用户的操作轨迹。

深入

PageSpy 组成

PageSpy 主要由三个模块部分组成:

使用

首先是考虑用户隐私和数据安全、其次为了方便大家使用,PageSpy 打包了上面的三个部分,提供一键启动、开箱即用的多种部署方案,你可以根据自己的情况选择部署方案。

启动完成后,打开浏览器访问 http://localhost:6752 体验,本地测试完成后即可部署到服务器上。

最后

PageSpy 在 Web / 小程序 / ReactNative / OpenHarmony 平台上都已经有稳定的 SDK ,希望 PageSpy 能够帮助到大家!

4227 次点击
所在节点    分享创造
36 条回复
artoostark
77 天前
欢迎来我们这边也分享分享。
lzcc
77 天前
echart 的图表回放不显示,不知道是不是我一个人的问题
blucas01
75 天前
@lzcc 现在可以了(默认情况下不记录 canvas ,刚刚调整了参数,现在已支持 ❤️)
z13zvxc
74 天前
好东西啊!
blucas01
74 天前
@z13zvxc 直接起飞 er ~
cheung
74 天前
Mark 一下, 值得深入学习
blucas01
74 天前
@cheung 先用起来,慢慢学习
niub
73 天前
很有意思,多谢分享👍
blucas01
73 天前
@niub 感谢支持 ♥️
smilenceX
72 天前
确实有意思,虽然我现在不做前端,不过 star 收藏了先。多谢分享。
blucas01
72 天前
@smilenceX 给你的前端同事推一推 😁
jellyX
71 天前
牛逼牛逼, 晚上试用看看, 谢谢 OP
blucas01
71 天前
@jellyX 就是干!要是遇到问题了可以加群哈,仓库的中文 README 底部有群二维码
saveai
70 天前
是好东西,但是也太太太卡了吧...看回放很卡
saveai
70 天前
另外有的功能如果支持更好,
1.希望有一个设置 id ,或者 key 的标识的地方来识别设备,更好分类管理。主要是 Device ID 会变化。Project 和 title 又不适合这样使用。
2.我不知道现在日志是存放在服务端是怎么存放,希望可以支持自动流上传的方式,直到用户关闭浏览器标签页为止。且不需要自己调用 js 代码上传或者用户点按钮才能上传,否则只能用定时轮询的方式不断上传。
3.希望可以支持设置 logo ,隐藏”复制在线调试链接“这个菜单,原因是放到前台后,不需要把后台的东西展示给普通用户,普通用户只需要保留上传日志的功能就行
blucas01
70 天前
@saveai

1. project / title 就是干这个事情的,你说的不适合具体是指?比如设置 title 为用户名,初始化的时候可能还不知道用户信息,但在获取到用户信息后 PageSpy 可以去更新这个连接的信息,参考 https://www.pagespy.org/#/docs/faq#update-info ;
2. 你说的这个自动上传跟埋点差不多,但 PageSpy 主要设计用于:发现问题、即时解决。所以跟埋点还是有点区别的;
3. logo 可以自定义,隐藏菜单按钮你可以通过设置 css 去操作;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1079069

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX