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

67 阅读2分钟

image.png

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

bug与debug

前端debug的特点

  • 多平台

浏览器、hybrid、nodejs、小程序、桌面应用

  • 多环境

本地开发环境、线上环境

  • 多工具

chrome devtools、charles、spy-debugger、whistle、vconsole...

  • 多技巧

console、breakpoint、sourceMap、代理...

Chrome DevTools

动态修改元素和样式

  1. 点击.cls开启动态修改元素的class

  1. 2种方式强制激活伪类
  • 选中具有伪类的元素 点击.hov
  • Dom树右键菜单 选中Force State
  1. computed
  2. 截屏

console

//对日志进行分类查看
console.log
console.warn
console.error
console.dabug
console.info

console.table  //具像化的展示JSON和数组数据
console.dir //通过类似文件树的方式展示对象的属性
console.time

注:占位符

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

%s:字符串占位符

%o:对象占位符

%c:样式占位符

%d:数字占位符

注:各种类型日志颜色不同

实例

source tab

进入暂停状态

  • 方法一

  • 方法二

快速查看值

  • 方法一

  • 方法二

breakpoints

查看断点列表

scope

查看作用域列表(包含闭包)

call stack

查看当前JavaScript代码的调用栈

压缩后的代码的调试——source map

image.png

network

image.png

Application

performance

解决性能问题

  1. 查看FPS指标
  • 法一

  • 法二

正常情况下,刷新频率为60

  1. 寻找性能瓶颈

lighthouse

移动端H5调试

真机调试

VConsole

使用代理工具调试

常用代理工具

  • charles用完及时关掉

nodejs调试

inspector protocol +chrome devtool

inspector protocol+vs code

常用开发调试技巧

保存调试的中间状态码

查看所有修改

利用代理解决开发阶段的跨域问题(cors/error)

部署到线上之后 也是代理 ngix进行

启用本地source map

使用代理工具Mock数据

小黄鸭调试大法