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

观察页面样式变化
相关推荐
叁两10 分钟前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
golang学习记16 分钟前
GitLens 十大神技:彻底改变你在 VS Code 中的 Git 工作流
前端·后端·visual studio code
SuperEugene17 分钟前
后台权限与菜单渲染:基于路由和后端返回的几种实现方式
前端·javascript·vue.js
兆子龙19 分钟前
WebSocket 入门:是什么、有什么用、脚本能帮你做什么
前端·架构
是一碗螺丝粉24 分钟前
LangChain 链(Chains)完全指南:从线性流程到智能路由
前端·langchain·aigc
月弦笙音29 分钟前
【浏览器】这几点必须懂
前端
青青家的小灰灰30 分钟前
迈向全栈新时代:SSR/SSG 原理、Next.js 架构与 React Server Components (RSC) 实战
前端·javascript·react.js
SuperEugene30 分钟前
弹窗与抽屉组件封装:如何做一个全局可控的 Dialog 服务
前端·javascript·vue.js
UrbanJazzerati31 分钟前
事件传播机制详解(附直观比喻和代码示例)
前端
青青家的小灰灰31 分钟前
透视 React 内核:Diff 算法、合成事件与并发特性的深度解析
前端·javascript·react.js