前端调试利器——pageSpy的使用简易指南

1.先部署pageSpy到自有服务器(推荐部署到自有服务器)

三种方式(node部署、docker部署、宝塔面板部署)

具体参考官网pagespy.huolala.cn/#/

免部署使用方式(生产环境下不推荐)

pagespy.huolala.cn/#/o-spy

xml 复制代码
<script src="https://static.huolala.cn/libs/o-spy/2.2.9/index.min.js" crossorigin="anonymous"></script>

<script>
  const $oSpy = new OSpy();
</script>

2.前端页面/框架中集成pageSpy sdk

cdn方式

安装
xml 复制代码
<!-- PageSpy SDK -->
<script crossorigin="anonymous" src="https://<your-pagespy-host>/page-spy/index.min.js"></script>

<!-- 插件(非必须,但建议使用) -->
<script crossorigin="anonymous" src="https://<your-pagespy-host>/plugin/data-harbor/index.min.js"></script>
<script crossorigin="anonymous" src="https://<your-pagespy-host>/plugin/rrweb/index.min.js"></script>
集成与初始化
ini 复制代码
<script>
  window.$harbor = new DataHarborPlugin();
  window.$rrweb = new RRWebPlugin();

  [window.$harbor, window.$rrweb].forEach(p => {
    PageSpy.registerPlugin(p)
  })

  window.$pageSpy = new PageSpy();
</script>

ESM方式引入

安装
kotlin 复制代码
yarn add @huolala-tech/page-spy-browser @huolala-tech/page-spy-plugin-data-harbor @huolala-tech/page-spy-plugin-rrweb
集成与初始化
javascript 复制代码
import PageSpy from "@huolala-tech/page-spy-browser";
import DataHarborPlugin from "@huolala-tech/page-spy-plugin-data-harbor";
import RRWebPlugin from "@huolala-tech/page-spy-plugin-rrweb";

window.$harbor = new DataHarborPlugin();
window.$rrweb = new RRWebPlugin();

[window.$harbor, window.$rrweb].forEach((p) => {
  PageSpy.registerPlugin(p);
});
// ESM 模式下无法自动分析部署地址,因此必须手动配置以下参数
window.$pageSpy = new PageSpy({
  api: "xx.xx.xx.xx:6752",//部署pageSpy的服务器地址(只需要主机+端口)
  clientOrigin: "http://xx.xx.xx.xx:6752",//(完整的地址)
  enableSSL: false,
  // 不渲染图标
  autoRender: false,
});

// 监听页面连续点击5次及以上时候渲染pageSpy图标
window.addEventListener("click", (e) => {
  if (e.detail >= 5) {
    window.$pageSpy.render();
  }
});

3.开始调试

前端项目运行起来后连续点击页面五次开启调试,页面会显示pageSpy标,点击跳转即可

后续功能直接在跳转的界面上实时调试

4.测试一下

ini 复制代码
控制台输入:
document.body.style.backgroundColor = "red";
document.body.style.color = "white";

观察页面样式变化
相关推荐
0思必得015 分钟前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
Misnice17 分钟前
Webpack、Vite、Rsbuild区别
前端·webpack·node.js
青茶36018 分钟前
php怎么实现订单接口状态轮询(二)
前端·php·接口
大橙子额1 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
爱喝白开水a3 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌413 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
吃杠碰小鸡4 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone4 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09014 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农4 小时前
Vue 2.3
前端·javascript·vue.js