前端调试技巧(持续更新)|青训营笔记

103 阅读3分钟

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

前端必须知道的开发调试知识

  1. Web 应用使用 Chrome devTools 调试
  2. 移动端 H5 调试(暂未)
  3. NodeJs 应用调试(暂未)
  4. 常用代理工具的使用

image.png

前端Debug多平台、多环境、多工具和多技巧等特点。

image.png

一、DevTools PC端进行调试

image.png

点击.cls开启动态修改元素的class

image.png

强制调试某种状态的伪类

image.png

image.png 如果类名比较多,我们可以computed界面通过搜索找到我们需要的

image.png 点击箭头跳转进行调试

image.png

image.png 右键body。可以找到截取整个网页屏幕的

image.png

在console界面中:

可以日志添加样式!(小tips)

占位符给日志添加样式,可以突出重要的信息 %s:字符串占位符;

  • %o:对象占位符;
  • %c:样式占位符;
  • %d:数字占位符。
console.log
console.warn
console.error
console.debug
console.info

image.png

使用console.table()具象化(表格)展示JSON和数组数据

image.png

通过console.dir() 打印文件树,展开各种属性,解决console.log()拿不到元素的问题

image.png

image.png

Sorce Tab

image.png 在代码中加上

debugger;

image.png 计算结果不是字符串拼接,需要转类型

image.png

鼠标移到相应变量上会显示其值

image.png

通过watch监听查看,Breakpoints是断点的位置

image.png

对于闭包问题,可以通过Scope去查看作用域列表(包含闭包)

Colosure是闭包

Call Stack可以查看当前javaScript代码的调用栈

image.png

调试压缩的代码

Sourcemap 本质上是一个信息文件,里面储存着代码转换前后的对应位置信息。它记录了转换压缩后的代码所对应的转换前的源代码位置,是源代码和生产代码的映射。 Sourcemap 解决了在打包过程中,代码经过压缩,去空格以及 babel 编译转化后,由于代码之间差异性过大,造成无法debug的问题。

image.png

image.png 代码上线的时候,出于安全因素和减少体积,不带sourcemap的。 那么没有sourcemap,怎么去映射源码呢? 在项目打包的时候回会带上soucemap去build,产物里是有sourcemap,然后上线之前把sourcemap上传到另一个平台,如监控平台。再删掉sourcemap删掉上线。

开启和关闭sourcemap的配置

image.png

NetWork

image.png

image.png

Waterfall 瀑布图 展示的是串行并行 执行

image.png

模拟弱网环境测试性能

image.png

image.png

####想知道到底是前端还是后端的问题? 在Preview和Response进行查看接口

image.png

Headers里有各种请求的信息

image.png

Application

Application面板展示与本地存储相关的信息

image.png

  • Local Storage

  • Session Storage

  • IndexedDBweb SQL

  • Cookie

快速清网站的缓存

image.png

Performance

image.png

性能测试案例 cpu慢6x,没有丢帧 image.png

观察FPS

image.png

image.png

提示性能瓶颈的位置

image.png

image.png

不优化的:offsettop 每次都要重新渲染 优化后的:提前存储,后面不需要进行重排,渲染

image.png

Lighthouse

衡量性能的三个重要指标

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

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

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

image.png

image.png

往下滑动是性能优化的一些建议 image.png

二、技巧-解决跨域

1.打开Sources面板下的的Overrides

2、点击Select folders for Overrides。选择一个本地的空文件夹目录。

3.允许授权

4.在page 中修改代码,修改完成后command +s保存

5.打开devTools ,点击右上角的 三个小点-> More tools就能看到所有修改了

image.png

image.png

image.png

解决跨域问题

image.png

使用代理 image.png

哈哈哈,最后放个小黄鸭调试方法(玩梗)

image.png