开发调试|青训营笔记

87 阅读2分钟

这是我参加【第四届青训营】笔记活动的第四天

一.bug与Debug

第一个BUG(虫子) 25.png

26.png

前端Debug的特点

  1. 多平台:浏览器 Hybird NodeJs 小程序 桌面应用等
  2. 多环境:本地开发环境 线上环境
  3. 多工具:Chrome devTools Charless
  4. 多技巧:Console BreakPoint sourceMap,代理等

二.chrome DevTools

  1. 动态修改元素和样式:
  2. Concole:
  3. Sorce Tab:
  • break Point 和Watch
  • scope和Call stack
  • 压缩后的代码:代码天生具有“开源”属性,出于安全考虑,JavaScript代码通常会被压缩,压缩后的代码通常只有一行,变量使用'a''b'等替换,整体变得不可阅读。
  • Source Map
  1. NetWork:
  2. Application:
  3. Performance:
  4. LightHouse:

三.移动端H5调试

1. 真机调试

iOS

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

Android

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

2. 代理调试

原理

  • 电脑作为代理服务器
  • 手机通过HTTP代理连接到电脑
  • 手机上的请求都经过代理服务器 以Charles为例
  1. 安装Charles
  2. 查看电脑IP和端口
  3. 将IP,端口号填入手机HTTP代理
  4. Charles允许授权
  5. 使用SwitchHosts!软件给Mac电脑配Hosts
  6. 手机访问开发环境页面

3. 常用工具

  • Charles:适合查看,控制网络请求分析数据
  • Fiddler:与Charles类似,适合Windows平台
  • spy-debugger:远程调试手机界面,抓包
  • whistle基于node实现的平台web调试代理工具

四.常用开发调试技巧

  • 线上及时修改overrides
  • 利用代理解决开发阶段的跨域问题
  • 启用本地source map
  • 使用代理工具mock数据
  • 小黄鸭调试大法:传说中程序大师随身携带一只小黄鸭,在调试代码时候会在桌上放上这只小黄鸭,然后详细的向鸭子解释每行代码,然后很快就将问题定位修复了。