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

80 阅读3分钟

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

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

Bug的产生

前端Debug的特点

  • 多平台

浏览器、Hybrid、NodeJs、小程序、桌面应用等

  • 多环境

本地开发环境、线上环境

  • 多工具

Chrome devTools、Charles

  • 多技巧

Console、BreakPoint

Chrome DevTools

1、动态修改元素和样式

Element-->Styles-->动态勾选、修改

伪类样式-->强制为某个状态再修改

2、Console界面

打印活动日志,有warn、error、debug等效果

展示各种数据,同时可以区分不同类型值,字符串灰色,数字蓝色...

3、Sorce Tab

展示源代码

  • 页面资源文件目录树

  • 代码预览区域

  • Debug工具栏

  • 断点调试器

    1)加上Debugger

    2)source源代码点断点

    调试期间鼠标移入查看值、右侧调试界面Watch也显示变量值

    Scope:展开可查看作用域列表

    Call Stack执行栈

  • 压缩后代码的调试

    1)webpack

    2)Source Map

    mappings字段存储了源文件和Source Map的映射,监控平台上传源码,出错时将错误定位到有源码,再映射到乱码文件

    关闭devtool:'source-map'

4、NetWork

  • 左侧:网页运行时请求的站点资源
  • 顶部:筛选左侧资源,all-全部,Fetch/-接口请求, Js,CSS...
  • 底部:请求数量和耗时
  • 模拟弱网环境
  • 错误定位:Preview看返回结果

5、Application

浏览器存储相关

修改存储数据、清除缓存

6、performance

性能相关

区域1:控制面板

区域2:概览面板

  • FPS:每秒帧数
  • CPU:处理各个任务花费的时间
  • NET:各个请求花费时间

区域3:线程面板

  • Frame:帧线程
  • Main:主线程,负责执行Javascript,解析HTML、CSS,完成绘制
  • Raster:负责完成某个layer或者某些块的绘制

区域4:统计面板

解决性能问题

页面卡顿->查看FPS指标->寻找性能瓶颈->优化代码

7、Lighthouse

核心Web指标

  • LCP:最大内容绘制,测量加载性能。为了提供容绘制,测量加载性能。为了提供良好的用户体验,LCP 应在页面首次开始加载后的2.5秒内发生
  • FID:首次输入延迟,测最交互性。为了提供良好的用户体验,页面的 FID 应为100毫秒或更短
  • CLS:累积布局偏移,测量视觉稳定性。为了提供良好的用 户体验,页面的 CLS 应保持在 0.1或更少

移动端H5调试

真机调试

VConsole

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

代理工具调试

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

常用工具:Charles、Fiddler

官方使用

  • 执行命令node --inspect=8888 index.js
  • chrome浏览器访问服务
  • 点击绿色node图标打开node调试面板
  • 再node调试面板中使用断点调试