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

102 阅读2分钟

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

前端开发调试

bug&debug

bug来源

前端debug的特点

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

chrome DevTools

修改元素和样式

点击elements面板

双击或右键改变类名

改样式:computed-输入要改的属性

console日志

调试代码、输出

console.warn/console.debug/console.error可以利用等级来调试代码

console.dir打印对象,展示对象属性及对应的值。可用于绑定对象,dom节点。

列出数组的每一项:console.table

占位符 %c样式 %s字符串 %o对象

source Tab

三个部分分别是:

文件 代码 调试代码

调试-devtool-souiceTab

break point&watch

可以在你觉得有错的部分加上debugger,新增断点,breakpoints查看断点列表鼠标放

watch对某一个值进行监听,可以看到代码运行过程中,该值的变化。

Scope&Call Stack

scope 作用域 看对应变量 包含闭包

Call Stack 执行栈 执行上下文,调用栈,看当前程序执行到了哪个函数。

压缩后的代码如何调试?

压缩后的代码,变量名会变,用Source Map生成映射文件之后,压缩代码会变成源文件。

NetWork

调试-network

整个站点的网络请求,可以看参数返回头,值

模拟弱网,更改代码:NetWork->3G

Application

本地存储

快速清除数据:Storage->claer slie data

网页截图

选中要截图的部分,右键选择Capture Node screenshot

Performance

调试性能

调试-performance

Lighthouse

调试-lighthouse

移动端H5调试

01 真机调试

ios/android

02 Vconsole

调试-Vconsole

03 代理工具调试

原理

运行步骤

常用工具 charles fiddier spy-debugger whisle

Nodejs调试

Inspector Protocol+Chrome Devtool

调试-Inspector Protocol+Chrome Devtool

Inspector Protocol+VScode

调试-Inspector Protocol+VScode

常用开发调试技巧

01线上及时修改overrides

线上及时修改overrides

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

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

03 启用本地source map

线上source map不可用时,使用map local网络映射访问本地scource map文件

04 代理工具Mock数据

代理工具Mock数据

05 小黄鸭调试大法