【web调试技术 | 青训营笔记】

130 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第10天。
今天学习的内容是关于web的调试技术,课程围绕前端开发中所遇见的BUG出发,给我们介绍了不同场景下debug方法,我将课程的重点内容总结为以下几点:
1.前端Debug的特点

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

2.Scope与Call Stack

  • 展开Scope可以查看作用域列表(包含闭包)
  • 展开Call Stack可以查看当前javaScript代码的调用栈

3.核心web指标

  • Largest Contentful Paint(LCP):最大内容绘制,测量加载性能。为了提供良好的用户体验,LCP应在页面首次开始加载后的2.5秒内发生。
  • First Input Delav(FID):首次输入延迟,测量交互性。为了提供良好的用户体验,页面的FID应为100毫秒或更短。
  • Cumulative Lavout Shift(CLS):累积布局偏移,测量视觉稳定性。为了提供良好的用户体验,页面的CLS应保持在0.1或更少。

4.代理工具调试原理

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

5.常用代理工具

  • Charles:适合查看、控制网络请求,分析数据
  • Fiddler:与Charles类似,适合windows平台
  • spy-debugger:远程调试手机页面,抓包
  • Whistle:基于Node实现的跨平台Web调试代理工具

6.常用开发调试技巧

  • 线上即时修改Overrides
    • 首先打开Sources面板下的Overrides,然后点击Select folders for Overrides,选择一个本地的空文件夹目录,允许授权后,在page中修改代码,修改完成后保存,接着打开devTools,点击More tools->Changes就能看到所有修改了。
  • 利用代理解决开发阶段的跨域问题
    • 浏览器向代理服务器发起请求,代理服务器转发该请求给真实服务器,作出响应给代理服务器,然后代理服务器会转发响应给浏览器