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

使用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.kler.cn/a/449511.html

相关文章:

  • 【教程】第十一章 子任务 工时——化繁为简
  • 【5】C#期末复习第5套
  • LeetCode:1387. 将整数按权重排序(记忆化搜索 Java)
  • 工业摄像机基于电荷耦合器件的相机
  • 高级的SQL查询技巧有哪些?
  • 练14:DFS基础
  • 项目代码第6讲:UpdownController.cs;理解 工艺/工序 流程、机台信息;前端的“历史 警报/工艺 记录”
  • Python import from xx import xx
  • 2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
  • 电脑屏幕有条纹怎么办?电脑屏幕出现条纹解决方法
  • 使用Python的Seaborn库进行数据可视化
  • shell脚本定义特殊字符导致执行mysql文件错误的问题
  • 汽车IVI中控开发入门及进阶(47):CarPlay开发
  • 【unity】【游戏开发】Unity项目一运行就蓝屏报Watch Dog Timeout
  • 重温设计模式--命令模式
  • 安卓APP-HTTPS抓包Frida Hook教程
  • 集星云推短视频矩阵系统:重塑短视频营销格局
  • 图匹配经典论文(三)Deep Learning of Graph Matching—CVPR2018图匹配
  • C++中的模板元编程
  • 0基础学前端-----CSS DAY5
  • 004最长回文子串
  • ABAQUS纤维混凝土冲击破坏三维模型
  • 苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
  • C++ 中的多线程与并发编程:从基础到进阶
  • Apache RocketMQ 5.1.3安装部署文档
  • QT多媒体开发(一):概述