前端必须知道的开发调试知识 | 青训营笔记

42 阅读2分钟

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

前端debug的特点

多平台

浏览器、小程序、桌面应用、NodeJs、Hybrid

多环境

本地开发环境、线上环境

多工具

Chrome devTools、Charles、Spy-Debugger、Whistle

多技巧

Console、BreakPoint、SourceMap、代理

chrome devtool

修改元素和样式

点击elements面板

双击或右键改变类名

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

console日志

调试代码、输出

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

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

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

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

source

三个部分分别是:

文件 代码 调试代码

可以在你觉得有错的部分加上debugger;新增断点,鼠标放在变量上面可以看到结果。根据变量的值进行调试。

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

Scope作用域Call Stack执行栈

scope看对应变量。

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

压缩后的代码如何调试?

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

图片.png

图片.png

Performance

调试性能可以用这个,打开面板 有四个区域

区域一:控制面板

区域二:概览面板

FPS: 每秒帧数

CPU:处理各个任务花费的时间

NET:各个请求花费的时间

区域三:线程面板

Frames:帧线程

Main:主线程,复制执行Javascript,解析HTML/CSS,完成绘制

Raster:Raster线程,负责完成某个layer或者某些块tile的绘制

区域四:统计面板

Network

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

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

Application

本地存储

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

图片.png

图片.png

代理工具调试

原理

将电脑作为代理服务器
手机通过HTTP代理链接到电脑上
手机上的请求都经过代理服务器

以Charles为例

安装Charles
查看电脑IP和端口
将IP、端口号填入手机HTTP代理
Charles允许授权
使用SwitchHosts!软件给Mac电脑配置Hosts
手机访问开发环境页面

常用工具

Charles:Mac

Progress:Windows

图片.png