这是我参与「第四届青训营」笔记创作活动的的第 6 天。
编写复杂程序离不开正确的调试技巧,这篇文章总结了前端常用的调试工具和使用方法。
前端调试的场景可以分为:
- PC 端浏览器
- 移动端浏览器
- Node 服务端
PC 端浏览器
PC 端最常用的浏览器是 Chrome,同时其 DevTools 也是最好用的。
DevTools 有以下面板:
- Elements
- 实时修改 DOM 结构、类名、CSS 样式的值
- 点击 Computed 中的计算值跳转到对应 CSS 规则
- 强制激活伪类
- Console
- 查看输出的日志、报错信息
console.logconsole.infoconsole.debugconsole.warnconsole.errorconsole.tableconsole.dir- 占位符添加样式
- 执行 JS 语句
- 查看输出的日志、报错信息
- Sources
- 查看页面资源文件
- 断点调试
- 使用
debugger或行号设置断点 - 监控变量
- 查看作用域列表
- 查看调用栈
- 使用
- 压缩后代码调试:Source Map
- Network
- 网络请求相关信息
- 请求顺序、耗时、详情
- Performance
- 性能相关信息
- FPS/CPU 时间/请求时间
- 线程:Frames/Main/Raster
- Lighthouse
- 分析核心 Web 指标
- LCP (Largest Contentful Paint)
- FID (First Input Delay)
- CLS (Cumulative Layout Shift)
- Application
- 展示与本地存储相关的信息
- LocalStorage
- SessionStorage
- IndexedDB
- WebSQL
- Cookie
移动端浏览器
移动端也需要在电脑上进行调试,有以下几种方法:
- 真机调试
- iOS 使用 Safari
- Android 使用 Chrome
- vConsole
- 腾讯开源的移动端调试工具
- 代理调试
- 电脑作为代理服务器,接收手机发送的请求
- 常用工具:
- Charles
- Fiddler
- spy-debugger
- Whistle
Node 服务端
--inspect=port 选项启动 node,然后可以用 Chrome DevTools 或 VSCode 进行调试。
常用调试技巧
- Chrome DevTools 实时修改覆盖
- Select folders for overrides
- 代理服务器解决跨域问题
- 启用本地 Source Map
- 使用代理工具 Mock 数据
- 小黄鸭调试法 🐥