前端调试利器——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";

观察页面样式变化
相关推荐
Avan_菜菜6 小时前
AI 能写代码了,为什么我反而开始要求它先写文档?
前端·github·ai编程
爱勇宝10 小时前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
IT_陈寒13 小时前
SpringBoot这个自动配置坑我跳了三次
前端·人工智能·后端
kyriewen13 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
牧艺14 小时前
从零到协同:构建类飞书在线文档系统的五个技术重难点
前端·人工智能
红尘散仙14 小时前
想写一个像样的终端 App?试试把 React 的开发体验搬进 Rust TUI
前端·rust
袋鼠云数栈UED团队15 小时前
一套 Spec-First 的 AI 编程工作流
前端·人工智能
袋鼠云数栈前端15 小时前
一套 Spec-First 的 AI 编程工作流
前端·ai+
angerdream15 小时前
Android手把手编写儿童手机远程监控App之vue3 路由守卫
前端
不服老的小黑哥15 小时前
AI规范驱动编程-harness工程项目实战
前端