合拾

移动端H5调试工具指南

2020-09-20

拥有一款好用的移动端调试工具,在开发和调试BUG的过程中,都能快速提升开发效率和定位问题的能力。

image

前言

在移动端Web开发的项目中,由于移动端设备的多样性,IOS系统的兼容性,不同安卓设备的Webview兼容性的不同,而PC端的浏览器开发者工具又很难复现问题,拥有一款好用的移动端调试工具,在开发和调试BUG的过程中,都能快速提升开发效率和定位问题的能力。
以下是我在开发过程中使用过的几款调试工具。

vConsole

vConsole是由微信公众平台前端团队开源的一个轻量、可拓展、针对手机网页的前端开发者调试面板,可用于展示console日志,方便开发、调试。

Github: https://github.com/Tencent/vConsole

在线体验地址:http://wechatfe.github.io/vconsole/demo.html

特性:

  • 查看 console 日志
  • 查看网络请求
  • 查看页面 element 结构
  • 查看 Cookies、localStorage 和 SessionStorage
  • 手动执行 JS 命令行
  • 自定义插件

快速上手:

  • Script引入:
<head>
<script src="http://wechatfe.github.io/vconsole/lib/vconsole.min.js"></script>
<script>
var vConsole = new VConsole();
</script>
</head>

为了便于后续扩展,建议在 中引入:

  • NPM
npm install vconsole
import vConsole from "vconsole";

const vConsole = new VConsole();

eruda

Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷你版,其主要功能包括:捕获 console 日志、检查元素状态、捕获XHR请求、显示本地存储和 Cookie 信息等等。

Github:https://github.com/liriliri/eruda

在线体验地址: https://eruda.liriliri.io/

特性:

  • 按钮拖拽,面板透明度大小设置。

  • Console 面板:捕获 Console 日志,支持 log、error、info、warn、dir、time/timeEnd、clear、count、assert、table;支持占位符,包括 %c 自定义样式输出;支持按日志类型及正则表达式过滤;支持 JavaScript 脚本执行。

  • Elements 面板:查看标签内容及属性;查看应用在 Dom 上的样式;支持页面元素高亮;支持屏幕直接点击选取;查看 Dom 上绑定的各类事件。

  • Network 面板:捕获请求,查看发送数据、返回头、返回内容等信息。

  • Resources 面板:查看并清除 localStorage、sessionStorage 及 cookie;查看页面加载脚本及样式文件;查看页面加载图片。

  • Sources 面板:查看页面源码;格式化 html,css,js 代码及 json 数据。

  • Info 面板:输出 URL 及 User Agent;支持自定义输出内容。

  • Snippets 面板:页面元素添加边框;加时间戳刷新页面;支持自定义代码片段。

快速上手:

  • 通过CDN使用:
<script src="//cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
  • NPM
npm install eruda --save

<script src="node_modules/eruda/eruda.js"></script>
<script>eruda.init();</script>

vconsole和eruda功能类似,都是在移动端网页内置一个console面板,但是,使用起来却不是很方便,比如在调试某个元素的时候,由于手机端屏幕的局限性,操作起来并不方便,下面将介绍两个最具代表性的远程调试工具。

Weinre

Weinre代表Web Inspector Re mote,是一种远程调试工具。

Weinre作为一种远程调试工具,在结构上分为三层:

  • 目标页面(target):被调试的页面,页面已嵌入weinre的远程js;
  • Debug客户端(client):本地的Web Inspector调试客户端;
  • Debug服务端(agent):一个HTTP Server,为目标页面与Debug客户端建立通信。

快速开始:

安装:

npm install -g weinre

命令行启动:

weinre --httpPort 8080 --boundHost -all-

打开谷歌浏览器(-webkit内核)输入:http://127.0.0.1:8080/

然后添加Debug Target:

在你需要调试的页面添加如下script(ip):

<script src="http://你的ip:8080/target/target-script-min.js#anonymous" type="text/javascript"></script>

然后在手机端打开调试页面,手机需要和电脑在同一WIFI。

最后回到最开始打开的http://127.0.0.1:8080 ,点击“debug client user interface:” 如果没有问题的话,就已经成功添加了Debug Target。

注意:我目前还没有使用过这个工具,详细的使用指南请查看:https://github.com/nupthale/weinre

Chii

Chii是与 weinre 一样的远程调试工具,主要是将 web inspector 替换为最新的 chrome devtools frontend.

Github:https://github.com/liriliri/chii

Chii和Weinre相比,调试界面变成了Chrome的开发者工具,更加友好。

快速开始:

安装:

npm install chii -g

启动:

chii start -p 8080

在你要调试的页面注入以下脚本:

<script src="//你的ip:8080/target.js"></script>

然后就可以访问 localhost:8080 开始调试页面。

是不是很简单,你可以在手机上进行操作,然后在PC端的调试面板中查看元素和log输出。

总结

以上就是移动端调试工具的相关分享,类似的工具还有很多,最出名的就是以上几种吧,还有一些类似的工具如:
https://github.com/wuchangming/spy-debugger, 但是我还没有用过,以后有更好用的再来分享。

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章