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

128 阅读3分钟

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

👋本文接着前端必须知道的开发调试知识(上)继续总结,分为部分:1. 移动端H5调试 2. Nodejs调试 3. 常用开发调试技巧

移动端H5调试

😁 真机调试 | 代理调式 | 常用工具

真机调试

ios

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

  1. 使用Lightning 数据线将iPhone与Mac相连
  2. iPhone 开启Web检查器(设置->Safari->高级->开启Web检查器)
  3. iPhone 使用Safari 浏览器打开要调试的页面
  4. Mac 打开Safari 浏览器调试(菜单栏>开发->iPhone 设备名->选择调试页面)
  5. 在弹出的Safari Developer Tools 中调试

Android

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

  1. 使用USB数据线将手机与电脑相连
  2. 手机进入开发者模式,勾选USB调试,并允许调试
  3. 电脑打开Chrome浏览器,在地址栏输入:chrome://inspect/#devices 并勾选Discover USB devices选项
  4. 手机允许远程调试,并访问调试页面
  5. 电脑点击inspect 按钮
  6. 进入调试界面

使用代理工具调试

原理

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

以Charles为例

  1. 安装 Charles
  2. 查看电脑IP和端口
  3. 将IP、端口号填入手机HTTP代理
  4. Charles 允许授权 (默认情况下,Charles无法抓取到HTTPS的请求,需要安装证书。)
  5. 使用SwitchHosts!软件给Mac 电脑配 Hosts
  6. 手机访问开发环境页面

常用代理工具

  1. Charles:适合查看、控制网络请求,分析数据(功能比较强大、常用、收费😁)
  2. spy-debugger:远程调试手机贞面,抓包
  3. Fiddler:与Charles 类似,适合windows平台
  4. Whistle:基于Node实现的跨平台Web调试代理工具

Nodejs调试

Inspector Protocol+Chrome Devtool

  1. 执行命令 node--inspect=8888 index.js

Snipaste_2022-08-02_14-21-35.png
2. chrome 浏览器访问服务

Snipaste_2022-08-02_14-21-56.png

  1. 点击绿色node图标打开node 调试面板(在chrome://inspect/#devices 中配置network target)

Snipaste_2022-08-02_14-22-08.png

  1. 在node调试面板中使用断点调试

Snipaste_2022-08-02_14-22-19.png

Inspector Protocol+VS Code

  • VS Code 点击运行
  • 添加配置
  • 启动调试
  • 添加断点,再去访问服务
  • 查看变量、堆栈

Snipaste_2022-08-02_14-22-48.png

常用开发调试技巧

线上即时修改Overrides

  1. 打开Sources面板下的的Overrides
  2. 点击Select folders for Overrides。选择一个本地的空文件夹目录。
  3. 允许授权
  4. 在page中修改代码,修改完成后command+s保存
  5. 打开devTools,点击右上角的三个小点->More tools->Changes,就能看到所有修改了

Snipaste_2022-08-02_14-37-20.png

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

Snipaste_2022-08-02_14-38-25.png 如果我们使用webpack,里面有一个devServe,可以用devServe的相关配置做代理(实际上是启用node服务器,在里面做了转化),也可以用代理工具做到同样的效果

启用本地 Source map

线上不存在Source Map时,可以使用Map Local 网络映射功能来访问本地的 Source Map 文件。(使用代理工具)

Snipaste_2022-08-02_14-53-20.png
配置好后,打开网页运行调试代码就可以看到没有被压缩的代码了

使用代理工具Mock 数据(常用)

😅 后端还没有准备好接口,但前端需要一些数据去渲染,这时候我们可以自己先 Mock ,Mock 开发完成之后再换成真实的数据

  1. 右键选中要mock 数据的接口,选择save response,保存文件到本地。
  2. 本地打开保存的文件,编辑想mock的数据并保存。
  3. 右键选中第一步的接口,选择Map Local,Local Path 选择第二步的文件。

Snipaste_2022-08-02_14-56-15.png

小黄鸭调试大法

传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码,然后很快就将问题定位修复了。--《程序员修炼之道》