一、序

工欲善其事,必先利其器。作为一名资深程序员,相信必有一款调试神器相伴左右,帮助你快速发现问题,解决问题。作为前端开发,我还很年轻,也喜欢去捣鼓一些东西,借着文章的标题,先提一个问题:大家目前是怎么调试前端?哈哈,我也大胆的猜测下,可能有这么几种:

不调试,直接看代码找问题 console.log 打印日志 用 Chrome Devtools 的 debugger 来调试 用 VSCode 的 debugger 来调试 以上方式我相信大家基本都用过,不同的调试方式效率和体验是不一样的,我现在基本都是用 VSCode debugger 来调试,效率又高、体验又爽。

今天我就来介绍下怎么用 VSCode调试网页。

二、实践

还是以之前的小demo来做演示,首先我们需要在项目根路径下添加一个

.vscode/launch.json

的配置文件,其内容如下:

{ "configurations": [ { "name": "Launch", "request": "launch", "type": "pwa-chrome", "url": "http://localhost:8080", "webRoot": "${workspaceFolder}", "sourceMapPathOverrides": { "villiam://src/*": "${workspaceFolder}/src/*" } } ] }

创建了一个调试配置,类型是 chrome,并指定调试的 url 是开发服务器的地址。

因为 Vue 我们写的是 SFC(single file component) 格式的文件,需要 vue-loader 来把它们分成不同的文件,所以路径单独映射一下,才能对应到源码位置。

所以调试配置里需要加个

sourceMapPathOverrides:

"sourceMapPathOverrides": { "villiam://src/*": "${workspaceFolder}/src/*" }

那么这里面的值是怎么来的呢?首先workspaceRoot 是 vscode 提供的环境变量,就是项目的跟路径,这样一映射之后,地址不就变成本地的文件了么?那么在本地文件中打断点就能生效了。那左边的key值是怎么来的呢?其实这个路径是可以配置的,这其实就是 webpack 生成 sourcemap 的时候的文件路径,可以通过 output.devtoolModuleFilenameTemplate 来配置:

configureWebpack:{ output:{ devtoolModuleFilenameTemplate:'villiam://[resource-path]' } }

以上其实我们已经把调试的配置全部完成了,接下来我们就一起来见证下奇迹~

启动:

会先打开浏览器:

点击按钮后,进入断点:

不管你是想调试 Vue 业务代码,还是想看 Vue 源码,体验都会很爽的。

三、小结

今天给大家分享的是一个调试小技巧,方便我们查找定位问题用,希望在工作中提升你的效率。

其实React 的调试相对简单,只要添加一个 chrome 类型的 dubug 配置就行,Vue 的调试要麻烦一些,要做一次路径映射。

有兴趣的可以走一波。

欢迎关注

vue 代码调试神器相关推荐

  1. python 如何边改代码边调试_Python 代码调试神器:PySnooper

    给大家推荐本我自己写的电子书<PyCharm中文指南>,把各种 PyCharm 的高效的使用技巧用GIF动态图的形式展示出来.有兴趣的可以看它的在线文档: http://pycharm.i ...

  2. JS And Vue代码调试——IDEA+JS+vue-devtools-dev+JetBrains IDE Support(Chrome插件)

    JS代码调试--IDEA+JavaScript Debug+JetBrains IDE Support(Chrome插件) 问题描述 解决方案 解决步骤 问题描述 调试JavaScript代码,前端框 ...

  3. PHP代码调试神器Whoops

    1.传统的PHP代码调试全靠页面抛出的堆栈信息找出错误位置,效率低而且不直观 但是自从安装了Whoops这个组件一切都变得很简单 2.首先确保自己的机器已经安装compose 3.然后在项目的根目录下 ...

  4. 【进阶篇】Vue Devtools——vue开发调试神器

    工欲善其事,必先利其器,vue2.0进阶系列的知识更接近我们的实际开发所需,在开发过程中,有个好的调试工具是事半功倍的,Vue Devtools就是我们选择的调试工具,它是一款chrome浏览器的插件 ...

  5. Vue调试神器vue-devtools - 插件下载安装

    文章目录 Google如何安装调试Vue的神器`vue-devtools` ? 安装介绍: demo实例 - 演示代码: 相关文章链接: 1. https://github.com/vuejs/vue ...

  6. 多功能mac代码编辑神器coderunner 4 比Xcode都强大

    coderunner 4是Mac平台上的一款轻量级多功能代码编辑神器.本站第一时间为大家带来 coderunner 全新升级版 coderunner 4,支持 23 种语言和.txt 文档制作,比Xc ...

  7. Vue 项目调试总结

    文章目录 1. 代码中写debugger 2. Vue.js devtools 3. VScode + Chrome 1. 代码中写debugger 如果是简单的代码调试,想看到的值很少,就直接使用原 ...

  8. json.tojsonstring 导致cpu飙高_阿里调试神器立功了!进程导致Kubernetes节点CPU飙高的排查与解决...

    来源:https://www.cnblogs.com/maxzhang1985/p/12673160.html 一.发现问题 在一次系统上线后,我们发现某几个节点在长时间运行后会出现CPU持续飙升的问 ...

  9. web移动端调试神器Eruda

    在Web开发过程中,对html页面进行开发和调试的时候都会用到浏览器提供的调试工具,小编我最常用的就是Chrome浏览器自带的开发者工具了,可以很方便的对JS代码进行断点调试,log也很方便.但是在移 ...

最新文章

  1. python网络爬虫工程师薪资-python网络爬虫工程师找工作应该准备什么?
  2. c#(winform)中ComboBox和ListBox添加项完全解决
  3. 项目管理课件_项目管理(PMO)工作到底干些啥?
  4. leetcode 1239. Maximum Length of a Concatenated String with Unique Characters | 1239. 串联字符串的最大长度(回溯)
  5. 时序分析:使用卡尔曼滤波
  6. 为什么雷军指责“华为不懂研发”?
  7. 让你变成优秀程序员的几个小习惯
  8. 我的第一个wp8小程序
  9. 应用程序范围的键值对
  10. IDEA使用和实用小技巧
  11. mysql 所有外键_mysql中的外键
  12. 55个高质量的Magento主题,助你构建电子商务站点
  13. selenium借助AutoIt识别上传文件Java篇
  14. php伪静态后301,php伪静态htaccess实现301重定向方法
  15. 机器人学基础——坐标
  16. [笔记分享] [Camera] msm8926 camera hal 流程小结
  17. 从pwn-summoner理解first fit
  18. mysql的配置管理_MySQL 启动流程及配置管理
  19. 校园宽带网更换/安装路由器指南
  20. 搜狗校招笔试题编程之一

热门文章

  1. cube 设置滴答定时器_CubeMX配置定时器产生指定个数的脉冲
  2. java NIOSocket 通信简要举例
  3. LTE-5G学习笔记7---5G技术考试必看
  4. java层次聚类_python实现一个层次聚类方法
  5. MySQL修改字段状态0改为1,1改为0的情况
  6. TDK | 低温等离子体技术的应用
  7. 全球范围内可使用的8张加密货币借记卡
  8. AM335x SPL 代码分析
  9. 仿小米指南针,实现电子罗盘
  10. 石家庄铁道大学计算机考研资料汇总