前端调试 | 青训营笔记

110 阅读2分钟

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

前端的发展、更新迭代是很快的,虽然入门容易,但是要一直走下去,就需要持续不断的学习。只有勇于挑战自己舒适区外的东西,才能不断进步。

pc端调试

Element界面

用的较多,截屏是第一次见

截屏

body右键 --> Capture node screenshot

image-20220804180823098

Console界面

展示日志的界面

  • console.log

  • console.warn

  • console.debug

  • console.info

  • console.table --- 具象化的展示 JSON 和 数组数据

    image-20220804181734340

  • console.dir --- 通过文件树的方式展示对象的属性

    image-20220804181940619

  • 占位符,给日志添加样式,可以突出重要信息(%s: 字符串占位符; %c: 样式占位符; %d: 数字占位符)

sources

image-20220804182140420

调试压缩后的代码 --- Source Map

前端代码天生具有“开源”属性,出于安全考虑,上线之前JavaScript代码通常会被压缩,压缩后的代码只有一行,变量使用‘a’, 'b'等替换,整体变得不可阅读。那么压缩后的代码怎么调试呢?

使用Source Map映射源码,上线一般不用source map(带着source map 打包,删除source map产物再上线),如果上线的项目出现问题,可以去有source map的监控平台查找对应源码方便后续解决问题。

开启和关闭source map

image-20220804184008777

NetWork界面

设置网络

image-20220804184759605

查看各种类型的请求

image-20220804184826774

和后端联调,定位问题

image-20220804185002920

Application界面

展示和浏览器本地存储相关的信息

  • Local Storage
  • Session Storage
  • IndexedDB
  • Web SQL
  • Cookie

一键清除所有缓存信息

image-20220804185508232

Performance界面

展示和网页性能相关的信息

image-20220804185624086

页面卡顿 --》 查看FPS指标 --》 寻找性能瓶颈 --》 优化代码

fps正常是60多,如果很低的话可能出现丢帧情况,打开下面的选项可以查看fps面板

image-20220804192118061

image-20220804192202371

下面fps为40+,显然低于正常情况

image-20220804192216961

LightHouse界面

比Performance更简单的展示页面性能信息

image-20220804192638680

移动端H5调试

真机调试

image-20220804193851460

image-20220804193903242

VConsole

image-20220804193952773

使用代理工具调试

image-20220804194020924

常用代理工具

image-20220804194112073

Node.js调试

Inspector Protocol + Chrome

image-20220804194302553

Inspector Protocol + VS Code

image-20220804194501343

常用开发调试技巧

线上及时修改 Overrides

image-20220804195225189

利用代理解决开发阶段的跨域问题

原理:浏览器的同源策略影响的是浏览器和服务器之间的请求连接,而服务器和服务器之间没有同源策略可以相互请求发送数据,所以代理就是使用同源的服务器接收浏览器的请求,收到请求后再使用该服务器向真正有数据的非同源服务器发送请求从而得到数据

image-20220804195528941

启用本地source map

image-20220804200155533

使用代理工具 Mock 数据

image.png