当前位置: 首页 > news >正文

使用VSCode Debugger 调试 React项目

一般我们调试代码时,用的最多的应该就是console.log方式了,还有的是使用Chrome DevTools 通过在对应的

sourcemap代码位置打断点进行调试,除了上面两种方式外还有一种更好用的调试方式: VSCode Debugger。

VSCode Debugger可以直接在你的项目源码打断点,进行一步一步的调试,就像下面这样。

接下来,我以React项目为例,使用 VSCode Debugger 进行代码调试

1 配置VSCode Debugger 的launch.json文件

点击VSCode左侧菜单栏的 运行和调试 按钮,之后点击 创建launch.json文件,会弹出一个弹窗,选择Web 应用(chrome)表示使用chrome浏览器进行调试,如果你想使用Edge浏览器,就选择Web 应用(Edge)选项即可,我这里使用chrome进行调试

创建的launch.json文件文件内容如下

{"version": "0.2.0","configurations": [{"name": "调试React项目","request": "launch","type": "chrome","url": "http://localhost:8080","webRoot": "${workspaceFolder}"},]
}

其中,

name字段表示调试你这个调试脚本的名字,你可以自定义

url字段比较重要,你需要把url地址改为你的本地项目运行的地址,否则,你将无法调试你的项目

其实,你会发现,你做完上面的操作后,会在项目的根目录创建一个.vscode的文件夹,里面存放着launch.json文件,所以,你其实完全可以在你的项目根目录创建一个.vscode的文件夹,存放launch.json文件即可。

2 进入Debug窗口,启动调试

你会看到,这里显示的是 调试React项目,这个就是launch.json中的name字段,你完全可以自定义该字段

你会发现它启动了浏览器,并打开了这个 url:

VSCode 里还会有一排控制执行的按钮:

在代码打个断点,然后点击

刷新:

代码会执行到断点处断住,本地和全局作用域的变量,调用栈等都会展示在左边:

上面的控制按钮分别对应暂停、单步执行、进入函数调用、跳出函数调用,这个和 Chrome DevTools 一样:

还多了刷新和停止的按钮。

那异常断点的按钮呢?在窗口的左下角

可以在被 catch 的异常处断住,也可以在没有被 catch 的异常处断住。

看起来和 Chrome DevTools 里调试差不多呀,在 VSCode Debugger 里调试有啥好处么?

好处是不用切换工具呀,之前是调试在 Chrome DevTools,写代码在 VSCode,而现在写代码和调试都可以在 VSCode 里,可以边调试边写代码。

比如我想访问 this 的某个属性,可以在 Debug Console 里输入 this 看下它的值,然后再来写代码:

也可以在监视窗口输入你想要监视的内容

这样就实现了和 Chrome DevTools 一样的调试功能。

如果你还没用过 VSCode Debugger,不妨就从今天开始用起来吧。

http://www.lryc.cn/news/508450.html

相关文章:

  • [创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
  • AWTK-WEB 快速入门(2) - JS 应用程序
  • dolphinscheduler服务注册中心源码解析(三)RPC提供者服务整合注册中心注册服务实现源码
  • 电脑不小心删除了msvcr120.dll文件怎么办?“缺失msvcr120.dll文件”要怎么解决?
  • js 深度克隆
  • 深度学习之超分辨率算法——FRCNN
  • 软件测试之压力测试【详解】
  • 电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决
  • 分布式系统架构:限流设计模式
  • G口带宽服务器与1G独享带宽服务器:深度剖析其差异
  • Flamingo:少样本多模态大模型
  • 推荐一款免费且好用的 国产 NAS 系统 ——FnOS
  • 2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
  • 开机存活脚本
  • 车载网关性能 --- GW ECU报文(message)处理机制的技术解析
  • CosyVoice安装过程详解
  • 传统网络架构与SDN架构对比
  • 如何打造用户友好的维护页面:6个创意提升WordPress网站体验
  • 【hackmyvm】Zday靶机wp
  • redis使用注意哪些事项
  • 步进电机位置速度双环控制实现
  • 优化程序中的数据:从数组到代数
  • 【电商搜索】CRM: 具有可控条件的检索模型
  • 使用 ffmpeg 拼接合并视频文件
  • 【信号滤波 (上)】傅里叶变换和滤波算法去除ADC采样中的噪声(Matlab/C++)
  • Idea内,光标显示问题
  • 回顾 python3中字符串
  • 代码随想录day23 | leetcode 39.组合总和 40.组合总和II 131.分割回文串
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(switch语句)
  • R机器学习:决策树算法的理解与实操