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

87 阅读3分钟

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

前端Debug的特点

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

前端Debug的方法

Chrome DevTools

动态地修改元素和样式

点击.cls开启动态修改元素的class,输入字符串可以给元素添加类名,取消/勾选类名可以动态地查看类名生效效果,点击具体的样式值,可以进行编辑,游览器内容区域实时预览,Computed下点击样式里的箭头可以跳转到styles面板中的css规则。

Console 打印日志

  • console.log 普通打印
  • console.warn 警告打印
  • console.error 错误打印
  • console.debug debug打印
  • console.info 信息打印
  • console.table 具象化展示JSON和数组数据
  • console.dir 通过类似文件树的方式展示对象的属性
  • 占位符 给日志添加样式,可以突出重要信息:%s字符串占位符,%o对象占位符,%c样式占位符,%d数字占位符

Score Tab

将score调试页面分为四部分:左、中、右上、右下
左:页面资源文件目录树
中: 代码预览区
右上:Debug工具栏,包括调试工具
右下:断点调试器

image.png

注意:在右下区域中有作用域(scope)和调用堆栈(Call Stack),作用域中包含闭包,调用堆栈可以查看当前JavaScript代码的调用栈

压缩后的代码如何调试

前端代码由于天生具有开源属性,出于安全考虑,上线之前JavaScript代码通常会被压缩,压缩后只有一行,变量使用a、b等替换,使得整体变得不可读。(代码混淆)

通过source-map方法可以调试压缩后的js代码
source-map开启后会在代码报错时将错误映射到源码上。
注意:source-map文件会比源文件大,所以一般项目上线时不会直接一起部署,而是将source-map部署到监控平台上。

解决性能问题

步骤:

  • 1.页面卡顿
  • 2.查看FPS指标
  • 3.寻找性能瓶颈
  • 4.优化代码

移动端H5调试

真机调试

方式: 1.使用数据线与手机联机来调试 2.使用二维码扫码调试

VConsole

  • 日志
  • 网络
  • 节点
  • 存储
  • 手动执行JS命令行
  • 自定义插件

使用代理工具调试

原理:

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

常用工具:
Charles:适合查看、控制网络请求,分析数据
Fiddler:与Charles类似,适合Windows平台
spy-debugger:远程调试手机页面,抓包
Whistle:基于Node实现的跨平台Web调试代理工具

Node.js调试

官方调试方法:Inspector Protocol + Chrome Devtool

  1. 执行命令 node --inspect=8888 index.js
  2. chrome游览器访问服务
  3. 点击绿色node图标打开node调试面板
  4. 在node调试面板中使用断点调试