[ Web调试技术 | 青训营笔记]

81 阅读3分钟

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

我总结了PC端的web调试技术:

一、前端debug特点

1、多平台:浏览器、Hybrid、NodeJs、小程序、桌面应用。 

2、多环境:本地开发环境、线上环境。 

3、多工具:Chrome devTools、Charles、Spy-Debugger.... 

4、多技巧:Console、Breakpoint、sourceMap、代理等 

 二、chrome dev tools 

Elements 

1、点击 .cls 开启动态修改元素得class 

2、输入字符串可以动态地给元素添加类名; 

3、勾选/取消类名可以动态地查看类名生效效果; 

4、点击具体的样式值(字号、颜色、宽度高度等)可编辑 

5、computed下点击样式里的箭头可跳转到styles面板中的css规则 

6、激活伪类:选中具有伪类的元素,点击:hov DOM树右键菜单,选择Force State 

Console 

1、console.log (数字蓝色、字符串灰色) 

2、console.warn 黄色 

3、console.error 红色 

4、console.debug 蓝色 

5、console.info和log类似 、

6、console.table 具像化地展示JSON和数组数据 

7、console.dir 通过类似文件树地方式展示对象的属性。 

8、占位符,给日志添加样式 %s 字符串占位符 %o 对象占位符 %c 样式占位符 %d 数字占位符

9、console.time console.timeEnd 

 source 

区域1:页面资源文件目录树 

区域2:代码预览区域 

区域3:debug工具栏 

从左到右依次为:暂停(继续)、单步跳过、进入函数、跳出函数、单步执行、激活(关闭)所有断点、代码执行异常处自动 

区域4: 断点调试器 

展开scope可以查看作用域列表(包含闭包) 

展开call stack 可以查看当前js代码地调用栈 

XHR/fetch Breakpoints 网络请求断点 

DOM Breakpoints DOM事件断点 

如何调试上线压缩后的代码?使用source map, 其中mappings字段存储了源文件和source map的映射。

压缩后的代码上线后不安全怎么办?使用监控。

Network 

站点请求资源 瀑布流展示并行、串行 

Application 

浏览器存储相关 localStorage sessionStorage IndexedDB Web SQL Cookie 

点击application下storage面板中的clear site data可以清楚网页的本地存储数据;

Performance 性能展示 

区域1:控制面板 

区域2∶概览面板 

FPS:每秒帧数 CPU:处理各个任务花费的时间 NET:各个请求花费时间 

区域3∶线程面板 Frames :帧线程 Main :主线程,负责执行Javascript,解析HTMUCSS,完成绘制 Raster : Raster线程,负责完成某个 layer或者某些块(tile)的绘制。 

Lighthouse 核心web指标 

Largest Contentful Paint (LCP):最大内容绘制,测量加载性能。为了提供良好的用户体验,LCP应在页面首次开始加载后的2.5秒内发生。 

First Input Delay (FID):首次输入延迟,测量交互性。为了提供良好的用户体验,页面的FID应为100毫秒或更短。 

Cumulative Layout Shift (CLS):累积布局偏移,测量视觉稳定性。为了提供良好的用户体验,页面的CLS应保持在0.1.或更少。