web调试技术 青训营笔记

145 阅读3分钟

这是我参与第五届青训营伴学笔记的第十天

web前端调试

1.bug和debug

前端debug的特点

多平台,多环境,多工具,多技巧

2.chrome调试

element

动态修改元素和样式

console

更好的查看日志

console.log

console.warn

console.error

console.debug

console.info

console.table

具象化的展示 JSON 和 数组数据

console.dir

通过类似文件树的方式展示对象的属性

·占位符

给日志添加样式,可以突出重要的信息

%s: 字符串占位符;%o: 对象占位符, %c: 样式占位符; %d: 数字

XHR就是请求的时候断点

Sorce Tab

54adb3d68705ae9697b674f2bcb0ef8.png

Break Point 与 Watch

使用关键字 debugger 或 代码预览区域的行号可以设置断点

执行到断点处时代码暂停执行

展开 Breakpoints 列表可以查看断点列表,勾选/取消可以激活/禁用对应断点

暂停状态下,鼠标 hover 变量可以查看变量的值

在调试器 Watch 右侧点击 +可以添加对变量的监控,查看该变量的值

Scope 与 Call Stack

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

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

251e9ed94d8b8c9983cd96fca970cdb.png

js压缩后的代码如何调试 souresmap

souresmap文件比较大,我们一般把map文件上传到监控平台,再上传map的产物,从而达到混淆代码的效果 错误可由监控平台显示

mappings 字段存储了源文件和Source Map 的映射

英文,表示源码及压缩代码的位置关联

逗号,分隔一行代码中的内容。

分号,代表换行。

source Map 标准

docs.google.com/document/d/…

application

d705ff89e6f58b8c263cec7e45be81a.png

Performance

54adb3d68705ae9697b674f2bcb0ef8.png

performance运用实例

googlechrome.github.io/devtools-sa…

Lighthouse

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

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

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

移动端开发

1.真机调试

ios

1.使用 Lightning 数据线将 iPhone 与 Mac 相连

2.iPhone 开启 Web 检查器 (设置-> Safari ->高级 ->开启 Web 检查器)

3.iPhone 使用 Safari 浏览器打开要调试的页面Mac

4.打开 Safari 浏览器调试(菜单栏一>开发->iPhone 设备名->选择调试页面)在弹出的 Safari Developer Tools 中调试

没有 iPhone 设备可以在 Mac AppStore 安装 Xcode 使用其内置的 ioS模拟器

安卓

1使用 USB 数据线将手机与电脑相连

2.手机进入开发者模式,勾选 USB 调试,并允许调试

3.电脑打开 Chrome 浏览器,在地址栏输入:

chrome://inspect/#devices 并勾选Discover USB devices 选项

4.手机允许远程调试,并访问调试页面

5.电脑点击 inspect 按钮

6.进入调试界面

直接使用手机扫码查看,体验更佳

4.node.js调试

99892cb3371e6d66d14d5eab4854597.png 5.结合vscode调试

a4c5619e5f6968b59786f83cc34f221.png 常用的开发调试技巧

线上即时修改overrides

打开 Sources 面板下的的Overrides

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

允许授权

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

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

跨域可以使用软件代理

7ceb073391f0b45f4f7be9b9ef0eddc.png

但是线上的网站就是使用nginx

使用代理工具 Mock 数据

1.右键选中要 mock 数据的接口,选择save response,保存文件到本地。

2.本地打开保存的文件,编辑想mock 的数据并保存。

3.右键选中第一步的接口,选择Map Local,Local Path 选择第二步的文件。

023675946889677e929dca5bef2250d.png

当然也可以使用小黄鸭大法

我们把代码一步一步给小黄鸭解释,自然就可以发现那里出错了,没有小黄鸭也可以找周围的同事或者朋友