Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal

2023-11-14

经常看到有同学抱怨 Node 调试麻烦或者是搞不清怎么调试各种脚本、JestWebpack 等等,而偶尔看到的调试相关的文章又全都是在写 inspectlaunch.json 这些方案,其实有一定学习成本。

而其实在 VSCode 中早已内置了相当无脑的 Debug 方式,就是 JavaScript Debug Terminal,利用它我们只需要负责打断点,别的什么 inspectlaunch.json 都不需要关注,主打的就是一个无脑、简单。

使用

要启用 JavaScript Debug Terminal 过程实在是太无脑了,不过还是说一下吧,要开启只需要一步:在 Terminal 中新开一个 JavaScript Debug Terminal,然后所有的脚本全都用它来启动即可。

picture 1

实战测试

空口无凭,下面我们通过几个案例来测试一下有多好用。

node 脚本

首先我们创建一个 test.js 脚本,然后在需要调试的行数前方点击添加上断点,并进入 Debug Terminal 通过 node test.js 来执行。

picture 2

可以看到执行后直接就开启了 VSCodedebug 模式,并且成功在断点出停住。

npm script

再来试试 npm script 方式,我们先新建一个 package.json,然后在 scripts 中添加一条:"start": "node test.js",随后在 Debug Terminal 执行 npm run start

picture 3

注意这次我们使用的是 debugger 来添加断点,可以发现同样成功进入断点。

typescript debug

不止于此,我们再试试 typescript,新建一个 test.ts,然后通过 npx tsx test.ts 启动。

picture 4

可以发现 typescript 一样可以成功调试。

webpack

上面都属于比较简单的场景,实际场景我们可能经常会在打包或写单测时遇到一些问题需要调试。现在我们先来随便找个 webpack 模版试试 webpack

picture 5

可以看到在 webpack 源码中打断点同样也可以支持。

jest

再来试试 jest,随便拿 react 源码里的单测跑一下。

picture 6

不出所料,毫无问题。

其他方式

除了上面说的主动打开 Debug Terminal 的方式进行调试外,VSCode 还在 npm script 中集成了一些操作。

比如在 package.json 中的 scripts 上方的 Debug 按钮,点击后会让你选择项目中的 script 并启动 Debug Terminal 进行调试。

picture 7

也可以在某个 script 的名字上 hover 后点击出现的悬浮按钮中的 Debug 直接调试对应的 script

picture 8

总结

可以看出 VSCodeJS Debug Terminal 基本支持了所有我们常用的调试场景,无论是 nodetypescriptwebpack 还是 jest,全部拿捏。并且使用绝对无脑,可以放心食用。

当然在使用过程中也遇到一些小问题,比如在跑 jest 时由于会启动多个子进程此时点击断点工具条中的断开可能会导致 Debug Terminal 后续失效,也有时会卡住。不过瑕不掩瑜,用了就知道 JS Debug Terminal 真香。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal 的相关文章

随机推荐

  • 命令行下使用CL.exe编译多cpp文件工程

    一 CL exe是控制 Microsoft C 和 C 编译器与链接器的 32 位工具 编译器产生通用对象文件格式 COFF 对象 obj 文件 链接器产生可执行文件 exe 或动态链接库文件 DLL 用法如下 注意 所有编译器选项都区分大
  • [Git专题] 环境搭建

    环境搭建 在正式使用 Git 之前 首先应当安装 Git 并完成一些基础配置 本章内容就教大家在 Ubuntu 和 CentOS 上安装 Git 的方法 安装 Git 客户端 如果你使用的是基于 Debian 的 Linux 发行版本 那么
  • SpringBoot+redis RedisTemplate/jedis 配置多个数据源 灵活切库 选择库

    目录 1 这里也介绍两种方式 一种是redis的 RedisTemplate 另一种是jedis 大家需要哪一种 自己选择 2 这里先说redis 的 RedisTemplate 1 加入依赖并在在yml 文件里面加入配置 2 添加配置文件
  • 推荐106个软件工程本科的计算机毕业设计,有手就会

    对于即将面临毕业设计的计算机专业学生来说 如何选题和成功完成项目是一个艰难的问题 今天 我们将与大四的学生分享一些毕业设计项目 希望能为你提供一些帮助 一 成品列表 以下所有springboot框架项目的源码博主已经打包好上传到百du云了
  • Java操作Excel - Easy Excel

    一 介绍 官网 https easyexcel opensource alibaba com EasyExcel是阿里巴巴开源的 一个基于Java的 快速 简洁 解决大文件内存溢出的Excel处理工具 他能让你在不用考虑性能 内存的等因素的
  • 抖音跳微信小程序(抖音分享卡片和链接)图文教程

    序 1 本博文参考一下资料 获取接口调用凭据 微信开放文档 获取scheme码 微信开放文档 获取授权帐号调用令牌 微信开放文档 用H5打开微信小程序 weixin 46746389的博客 CSDN博客 2 注意 只能是企业认证的小程序才可
  • Vue面试系列之十:watch和computed的区别以及怎么选用

    1 区别 1 1 定义 语义区别 watch
  • 函数模板与普通函数的区别

    函数模板与普通函数的区别 1 普通函数调用时可以发生自动类型转换 隐式转换 2 函数模板调用时 如果利用自动类型推导 不会发生隐式类型转换 3 如果利用显示指定类型的方式 可以发生隐式类型转换 代码示例 include
  • Java物联网方向_物联网专业课程安排——未来主要方向之一

    课程1 物联网产业与技术导论 使用电子工业出版社 物联网 技术 应用 标准 安全与商业模式 等等教材 在学完高等数学 物理 化学 通信原理 数字电路 计算机原理 程序设计原理等课程后开设本课程 全面了解物联网之RFID M2M 传感网 两化
  • 关于加法溢出问题

    开个题目 关于加法溢出问题 以后想到什么情况就在这里更新吧 1 freeRTOS 的时钟节拍函数 要实现一个定时任务A 当前时钟节拍计数器xTickCount 需要延时的时钟节拍 delayTick 延时的时钟节拍时间点tickTime 由
  • 05智慧杆塔

    一张图读懂一个产业之智慧杆塔 智慧杆塔是综合承载多种设备和传感器并具备智慧能力的杆 塔等设施的总称 包括但不限于通信杆 塔 路灯杆和监控杆 智慧杆塔具备的功能由其挂载的设备和传感器决定 这些设备和传感器可通过各种通信技术接入网络和平台 并在
  • R语言实用教程薛毅清华出版社课后题答案

    有R语言实用教程薛毅课后题答案习题1 5 详情请到我的页面资源查看
  • NVMe Cli 使用教程 -- NVMe Read / Write 使用实践

    1 NVMe Write Write命令的官方说明 nvme write
  • C Primer Plus 第五章 编程练习

    第五章 编程练习 5 1 题 目 编写一个程序 把用分钟的时间转换用小时和分钟表示的时间 使用 define或者const创建一个表示60的符号常量或const变量 通过while循环让用户重复输入值 直到用户输入小于或者等于0 的值才停止
  • 网络安全工程师

    岗位职责 1 分析网络现状 对网络系统进行安全评估和安全加固 设计安全的网络解决方案 2 在出现网络攻击或安全事件时 提高服务 帮助用户恢复系统及调查取证 3 针对客户网络架构 建议合理 的网络安全解决方案 4 负责协调解决方案的客户化实施
  • CISSP-安全和风险管理

    俗话说什么是网络安全 那网络安全的基本原则有哪些呢 主要是有可用性 保密性 完整性 1 那什么是可用性 可用性的话 那就是在我们的数据和资源需要随时保持能够授权用户进行访问 用户想要访问想要用的时候 你就应该能用 而不是不能用 2 那什么是
  • Vijava 学习笔记之 DataStore(基础配置信息)

    vijava 代码 实体类 package com vmware pojo import java util ArrayList import java util Calendar 存储信息 author zhb public class
  • R语言实战笔记 基本统计分析-相关

    相关 相关系数可以用来描述定量变量之间的关系 将使用R基础安装中的state x77数据集 提供了美国50个州在1977年的人口 收入 文盲率 预期寿命 谋杀率和高中毕业率数据等 数据如下 相关的类型 Pearson Spearman和Ke
  • Markdown语法详解

    Markdown语法 标题 一级标题 一级标题 二级标题 二级标题 三级标题 三级标题 四级标题 四级标题 五级标题 五级标题 段落 前后空行超过一行 即为一个段落 标题 副标题 正文 表格 ID 用户名 昵称 1 root ROOT 2
  • Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal

    经常看到有同学抱怨 Node 调试麻烦或者是搞不清怎么调试各种脚本 Jest Webpack 等等 而偶尔看到的调试相关的文章又全都是在写 inspect launch json 这些方案 其实有一定学习成本 而其实在 VSCode 中早已