跳到主要内容

前端debug

· 4 分钟阅读
Sunburst112

本文仅整体一些本人之前不曾了解过的 chrome 调试技巧

Elements

  1. 调试样式:先选中对应调试的元素
  2. 样式区选中.cls 动态选中需要选择的类
  3. 选中:hover 区域,只调试伪类选择器对应的 css 效果
  4. 选中 computed 计算区的 filter 进行快速筛选某个属性,筛选到对应的属性后选中旁边的小箭头可以快速跳转到 styles 区域下的类下面的样式

Console

  1. 不同类型的值,日志颜色不同,数值是紫色,字符串是青色
  2. console.table() 打印数组和对象以表格方式展开便于观察
  3. console.dir() 展开文件树结构,适合打印 DOM 节点上具有的属性
  4. console.error() console.warning()较为显眼的日志打印技巧
  5. 添加占位符实现某种样式打印控制台的结果

Sources

  1. 代码里直接写debugger 或者直接在 sources 面板下的 js 中选中具体的行,进行打断点,刷新浏览器进行 debugger.
  2. 右侧的 watch 直接监视需要查看的变量
  3. BreakPoints 有多个断点时可以快捷取消选中断点
  4. Scope:作用域:可以观察函数执行作用域和闭包
  5. callStack:函数执行栈
  6. XHR/fetch BreakPoints 区域添加指定请求的 url,当请求发生的时候会触发断点
  7. 线上代码调试技巧,打包的时候 webpack 开启 sourcemap,这样会生成 sourcemap,部署的时候只部署源代码,sourcesmap 文件存放到监控系统,这样线上报错的时候,监控系统会根据 sourcemap 指明源代码具体报错的代码行位置。
    • 也可以使用代理工具进行简单使用 sourcemap,代理工具将访问线上的 sourcemap 代理到本地的 sourcemap 上也可以进行线上调试。

Network

  1. waterfall 区域可以观察请求是否是串行还是并行执行,第一个标记区域发现对齐的,所以是并行请求,第二个选中区域是错开的,故而是串行请求

Performance 、LightHouse

  1. chrome 提供的性能调试例子,在 performance 区域进行录制分析。

  2. 以页面出现卡顿为例,录制后打开 Frames 下滑动鼠标滚轮明显发现掉帧现象,选中 Main 展开滑动滚轮放大后发现有红色区域,点击红色区域下面的 Summary 区域的 Callstacks 下会指出可能出现性能问题的文件,点击进行查看分析即可。

    .

  3. LightHouse 是 performance 的“简洁版”,用可以量化的分数来评判网站的性能