使用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 相关文章推荐
Jquery中对数组的操作代码
Aug 12 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
一个JavaScript的求爱小特效
May 09 Javascript
alert和confirm功能介绍
May 21 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 Javascript
javascript完美实现给定日期返回上月日期的方法
Jun 15 Javascript
javascript实现循环广告条效果
Dec 12 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
微信小程序图片自适应实现解析
Jan 21 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 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简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
索趣科技的答案
2007/02/07 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
用Python生成器实现微线程编程的教程
2015/04/13 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
销售类个人求职信范文
2013/09/25 职场文书
演讲稿格式范文
2014/05/19 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle