使用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 相关文章推荐
为EasyUI的Tab标签添加右键菜单的方法
Jul 14 Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
js实现图片拖动改变顺序附图
May 13 Javascript
node.js中的http.createServer方法使用说明
Dec 14 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
JS onkeypress兼容性写法详解
Apr 27 Javascript
javascript数据类型详解
Feb 07 Javascript
Vue实现virtual-dom的原理简析
Jul 10 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
uniapp,微信小程序中使用 MQTT的问题
Jul 11 Javascript
基于JavaScript实现简单抽奖功能代码实例
Oct 20 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
星际中的相关伤害
2020/03/04 星际争霸
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
php文件上传类完整实例
2016/05/14 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
python pandas 对时间序列文件处理的实例
2018/06/22 Python
pandas数据集的端到端处理
2019/02/18 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python的scipy实现插值的示例代码
2019/11/12 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
初一新生军训方案
2014/05/22 职场文书
驾驶员安全责任书
2014/07/22 职场文书
工作保证书怎么写
2015/02/28 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript
python超详细实现完整学生成绩管理系统
2022/03/17 Python