前端开发调试知识|青训营笔记

77 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第4天

前端debug的特点

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

Console

  • console.log
  • console.warn
  • console.error
  • console.debug
  • console.info
  • console.table 具体化的展示JSON和数组数据
  • console.dir 通过类似文件树的方式展示对象的属性
  • 占位符 给日志添加样式,可以突出重要的信息 %s:字符串占位符;%o:对象占位符;%c:样式占位符;%d:数字占位符

Scope与Call Stack

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

Source Map

mappings字段存储了源文件和Source Map的映射

  • 英文,表示源码与压缩代码的位置关联
  • 逗号,分隔一行代码中的内容
  • 分号,代表换行

Performance

区域1:控制面板 区域2:概览面板

  • FPS:每秒帧数
  • CPU:处理各个任务花费的时间
  • NET:各个请求花费时间 区域3:线程面板
  • Frames:帧线程
  • Main:主线程,负责执行JavaScript,解析HTML/CSS,完成绘制
  • Raster:Raster线程,负责完成某个layer或者某些块(tile)的绘制 区域4:统计面板

Lighthouse

核心Web指标

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

结合vscode调试

  • vscode 点击运行
  • 添加配置
  • 启动调试
  • 添加断点
  • 查看变量,堆栈

线上即时修改Overrides

  1. 打开sources面板下的Overrides
  2. 点击Select folders for Overrides,选择一个本地的空文件目录
  3. 允许授权
  4. 在page中修改代码,修改完成后Command+s保存
  5. 打开devTools,点击右上角的三个小点->More tools->Changes,就能看到所有修改了