【前端杂文】调试心得

282 阅读2分钟

一、背景

  • 主题:日常调试过程心得整理
  • 目的:提高工作效率,技能查漏补缺

二、Chrome Dev Tools

打开chrome开发者工具,快捷键F12

Mac - ⌥⌘I(option+command+i)

Window - ctrl+shift+i

2.1 命令菜单

  • 快捷键ctrl/command+shift+p - 切换皮肤主题/控制面板显影/截屏等等

  • ctrl/command + p - Open File

2.2 五大面板

  • Element

    • Device(mobile/DIY-ua)
    • Search(文本定位/css选择器/Xpath)
    • Css
    • DOM debug - break on
  • Console

    • $_ 上条语句结果
    • 上一个选择的DOM节点 $0
    • monitor()
  • Source

    • debugger
    • breakpoints & Eventlistener
    • Call Stack & ignore
  • Network

    • Preserve log
    • throtting(截流器)
    • HAR file
  • Application

    • cookie/session storage/local storage

2.3 线上代码调试

  • 方法1 - 搜索压缩的代码文件中的关键词

  • 方法2 - sourcemap - 找到远端map文件路径 / 文件系统中导入本地map文件

image.png

2.4 浏览器插件 - vuejs devtools

  • 需要vue是未压缩的
  • chrome安装需要翻墙/离线包安装,edge很方便
  • 定位,vuex的使用

三、配置本地vscode debug环境

官方文档 - 在 VS Code 中调试 — Vue.js (vuejs.org)

3.1 chrome launch模式

新版本vscode已内置chrome debugger tools插件能力

根据说明文档添加配置即可

  • 先开启chrome launch的调试
  • 再vscode console中运行npm run dev

3.2 nodejs launch模式

image.png

四、移动端真机调试

web移动端页面的真机调试方法_哔哩哔哩_bilibili

vConsole/README_CN.md at dev · Tencent/vConsole (github.com)

4.1 Android + Chrome

4.2 IOS + Safari

五、个人心得

  • 基础知识很重要,如事件调度原理,框架生命周期顺序等

    • 单步调试多练练,自己写的代码怎么运行的,做到心中有数
    • 认识常见错误类型,看到报错不慌张 - 可自行搜索前端常见错误类型
  • 异步情况用断点很难定位,建议找到输入/改变状态的入口,打全日志

    • 日志善用标识,如console.log('异步情况', 'funA'),console.count('异步交互')
  • 未知情况,无报错

    • 考虑是否拼音问题 - 可装拼写检查插件
    • 考虑大块删代码缩小影响范围 - 提前做好备份
    • 考虑休息会儿 - 陷入误区了,等心情好了就会有新思路的
    • 求助吧,身边牛人肩膀拍一拍 - 好朋友从一起看bug开始
  • 有机会多帮助他人,共同成长

    • 即使自己未能帮助解决,仍可以关注最终解决方案,成长就是点点滴滴的积累