使用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 相关文章推荐
用Javascript实现UTF8编码转换成gb2312编码
Dec 22 Javascript
对象特征检测法判断浏览器对javascript对象的支持
Jul 25 Javascript
jQuery 工具函数学习资料
Apr 29 Javascript
JavaScript中的Array对象使用说明
Jan 17 Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 Javascript
JQuery each()嵌套使用小结
Apr 18 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
JavaScript的==运算详解
Jul 20 Javascript
js改变html的原有内容实现方法
Oct 05 Javascript
javascript内存分配原理实例分析
Apr 10 Javascript
node错误处理与日志记录的实现
Dec 24 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
解析MySql与Java的时间类型
2013/06/22 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
table标签的结构与合并单元格的实现方法
2013/07/24 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
JavaScript基本编码模式小结
2012/05/23 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python中每次处理一个字符的5种方法
2015/05/21 Python
Python内置函数delattr的具体用法
2017/11/23 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
python redis 删除key脚本的实例
2019/02/19 Python
如何通过Python实现标签云算法
2019/07/02 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
大三自我鉴定范文
2013/10/05 职场文书
实习生自我鉴定
2013/12/12 职场文书
展会邀请函范文
2014/01/26 职场文书
中学教师自我鉴定
2014/02/07 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
模范教师事迹材料
2014/12/16 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
从事会计工作年限证明
2015/06/23 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
室外天线与收音机天线杆接合方法
2022/04/05 无线电