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

56 阅读2分钟

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

前端Debug的特点

  1. 多平台

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

  1. 多环境

本地开发环境、线上环境

  1. 多工具

Chrome devTools、Charles、Spy-Debugger、Whistle、vConsole

  1. 多技巧

Console、BreakPoint、sourceMap、代理等

Chrome DevTools

1. Elements页面

  • 动态修改元素和样式

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

    class.jpg

    动态.JPG

    com.JPG

2. Console页面

  • console.log:普通打印

  • console.warn:警告打印

  • console.error:错误打印

  • console.debug、console.info:效果和普通打印一样

    输出.JPG

  • 占位符:给日志添加样式,可以突出重要信息

    • %s:字符串占位符
    • %o:对象占位符
    • %c:样式占位符
    • %d:数字占位符

    样式.JPG

  • console.table:具象化的展示JSON和数组数据

    表格.JPG

  • console.dir :通过文件树的方式展示对象的属性

    文件树.jpg

3. Sources页面

  • Score Tab

    tab.JPG
  • 进入断点调试界面

    断点.jpg
    • 使用关键字debugger或代码预览区域的行号可以设置断点

    • 执行到断点处使代码暂停执行

    • 展开Breakpoints列表可以查看断点列表,勾选/取消可以激活/禁用对应断点

    • 暂停状态下,鼠标hover变量可以查看变量的值

    • 在调试器Watch右侧点击+可以添加对变量的监控,查看该变量的值

  • Scope与Call Stack

    • 展开Scope可以查看作用域列表(包含闭包)

    • 展开Call Stack可以查看当前javascript代码的调用域

    sc.jpg
  • 前端代码天生具有“开源”属性,出于安全考虑,JavaScript代码通常会被压缩,压缩后的代码只有一行,变量使用'a'、'b'等替换,整体变得不可阅读。压缩后的代码想要调试,需要用Source Map方法

    • mappings字段存储了源文件和Source Map的映射

    • 英文,表示源码及压缩代码的位置关联 逗号,分隔一行代码中的内容 分号,代表换行

4. NetWork页面

ne.JPG

5. Application页面

  • Application面板展示与本地存储相关的信息

  • LocalStorage、SessionStorage、IndexedDB、WebSQL、Cookie

app.jpg

6. Performance页面

控制.JPG

7. Lighthouse页面

li.JPG

移动端H5调试

1. 真机调试

调试.JPG

2. VConsole

vs.JPG

3. 使用代理工具调试

代理.JPG

4. 常用代理工具

工具.JPG

Nodejs调试

no.JPG

no2.JPG

常用开发调试技巧

1、线上即时修改Overrides

线上.JPG

2、利用代理解决开发阶段的跨域问题

利用.JPG

3、启用本地source map

启用.JPG

4、使用代理工具Mock工具

使用.JPG