使用VScode 插件debugger for chrome 调试react源码的方法


Posted in Javascript onSeptember 13, 2019

代码调试,是我们前端日常工作中不可或缺的能力了吧!

在面向dom开发的时代,我们开发时直接在chrome里打断点是很方便的。
但是,当我们面向组件开发时(react),浏览器拿到的是我们编译过后的代码,还想在浏览器里打断点几乎是不可能的了。

场景

那怎么办,方法总是比困难多!愚蠢的我想到了console/debugger!!一直在使用,虽然很不方便(打印太多实在太乱!上线还要配置删除掉),但是我竟然使用了很久(这真是一个糟糕的编码习惯吧)。直到今天,我想研究一下react源码,需要断点的地方有很多,不可能在手动console/debugger了!!我才想到我为什么不用浏览器debugger?

Debugger for Chrome

因为我使用的编译器是VS code,机智的我终于开窍了!找来了 Debugger for Chrome插件。

使用VScode 插件debugger for chrome 调试react源码的方法

但是纯英文的文档不太友好,虽然我英语六级也是搞了很久才弄好,下面就介绍记录一下mac系统下的使用方法吧。完整文档需要可以自己看文档

1、加载插件

使用VScode 插件debugger for chrome 调试react源码的方法

2、配置插件

点击小虫子;选择chrome;

使用VScode 插件debugger for chrome 调试react源码的方法

然后点击小轮子,打开launch.json文件如下:

{
 // 使用 IntelliSense 了解相关属性。 
 // 悬停以查看现有属性的描述。
 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [

  {
   "type": "chrome",
   "request": "launch", //launch / attach 两种方式;这里使用launch
   "name": "Launch Chrome against localhost",//开心的设置个名字
   "url": "http://localhost:9000",//项目地址
   "webRoot": "${workspaceFolder}/react-demo/"
   //这一块设置时要注意!webRoot指定网络服务器根目录的工作区绝对路径。
   ${workspaceFolder}应该时表示编辑器里的根目录,我的项目是react-demo,
   所以选择webRoot修改如上,具体路径还跟webpack配置的资源根目录也有关系

  }
  //还有很多可以配置的属性,可以通过上面文档查看
 ]
}

3、开始调试

点击小按钮,就开始调试模式了;像下面就能在我们的源代码打断点;

使用VScode 插件debugger for chrome 调试react源码的方法

开始调试后,多出来一个小窗,可以控制断点走向,以及结束暂停、调试。下方会显示断点列表。

使用VScode 插件debugger for chrome 调试react源码的方法

同时,会为我们打开我们配置的url页面;

使用VScode 插件debugger for chrome 调试react源码的方法

还可以看到调用堆栈,和打印台,可以说十分方便

使用VScode 插件debugger for chrome 调试react源码的方法

OK到这里我们的react调试配置已经可以使用了,不用在手动写debug了!可以开始愉快的搬砖了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
angularjs指令中的compile与link函数详解
Dec 06 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
Bootstrap每天必学之导航条(二)
Mar 01 Javascript
AngularJs IE Compatibility 兼容老版本IE
Sep 01 Javascript
js自制图片放大镜功能
Jan 24 Javascript
JavaScript 巧学巧用
May 23 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
easyUI 实现的后台分页与前台显示功能示例
Jun 01 Javascript
如何用JS实现简单的数据监听
May 06 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 #Javascript
深入了解JavaScript 防抖和节流
Sep 12 #Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
Sep 12 #Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 #Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 #Javascript
layer iframe 设置关闭按钮的方法
Sep 12 #Javascript
改变layer confirm弹窗按钮的颜色方法
Sep 12 #Javascript
You might like
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
使用console进行性能测试
2015/04/27 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[08:08]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY
2014/06/25 DOTA
Python struct模块解析
2014/06/12 Python
python求质数的3种方法
2018/09/28 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
微信营销策划方案
2014/02/24 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
明星员工获奖感言
2014/08/14 职场文书
学期个人自我总结
2015/02/13 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
学生会任命书范本
2015/09/21 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
浅析Django接口版本控制
2021/06/26 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang