Web调试技术 | 青训营笔记

74 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天。

今日学习内容:前端的PC端调试技术与移动端调试技术

一、Bug与Debug

前端Debug的特点

  1. 多平台:浏览器、Hybrid、NodeJS、小程序、桌面应用
  2. 多环境:本地开发环境、线上环境
  3. 多工具:Chrome Devtools、Charles、Spy-Debugger、Whistle、vConsole等
  4. 多技巧:Console、BreakPoint、sourceMap、代理等

二、Chrome Devtools

1. Elements

动态修改元素和样式:

  • 点击 .cls 开启动态修改元素的 class
  • 输入字符串可以动态的给元素添加类名
  • 勾选/取消类名可以动态的查看类名生效效果
  • 点击具体的样式值(字号、颜色、宽度高度等)可以进行编辑,浏览器内容区域实时预览
  • Computed 下点击样式里的箭头可以跳转到 Styles 面板中的CSS 规则

激活伪类方法:

  1. 选中具有伪类的元素,点击:hov
  2. DOM树右键菜单,选择Force State

2. Console

image.png

具象化展示JSON数据:

image.png

console.time() && console.timeEnd()

启动一个计时器来跟踪某一个操作的占用时长。每一个计时器必须拥有唯一的名字,页面中最多能同时运行 10,000 个计时器。当以此计时器名字为参数调用 console.timeEnd()时,浏览器将以毫秒为单位,输出对应计时器所经过的时间。

3. Source

image.png

BreakPoint与Watch

  • 使用关键字Debugger或代码预览区域的行号可以设置断点
  • 执行到断点处时代码暂停执行
  • 展开BreakPoint列表可以查看断点列表,勾选/取消可以激活/禁用对应断点
  • 暂停状态下,鼠标hover变量可以查看变量的值
  • 在调试器Watch右侧点击 + 可以添加对变量的监控,查看该变量的值

压缩后的代码调试: 出于安全考虑,上线之前的JavaScript代码通常会被压缩 --> sourceMap

image.png

4. Network

image.png

5. Performance

image.png

6. Light House

image.png

三、移动端H5调试

1. 真机调试

ios

image.png 没有iphone设备可以在mac app store安装xcode使用其内置的ios模拟器

Android

image.png 也可以直接通过手机扫码查看

2. VConsole

在页面中注入组件

image.png

3. 使用代理工具调试

原理:

  • 电脑作为代理服务器
  • 手机通过HTTP代理连接到电脑
  • 手机上的请求都通过代理服务器

image.png

四、NodeJS调试

  1. 执行命令node -inspect=8888 index.js
  2. chrome浏览器访问服务
  3. 点击绿色node图标打开node调试面板
  4. 在node调试面板中使用断点调试

五、前端常用开发调试技巧

1. 线上即时修改

image.png

2. 利用代理解决跨域

image.png

3. 启用本地 source map

线上不存在Source Map时可以使用Map Local网络映射功能来访问本地的Source Map文件