位置: 编程技术 - 正文

详解使用Visual Studio Code对Node.js进行断点调试

编辑:rootadmin

推荐整理分享详解使用Visual Studio Code对Node.js进行断点调试,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求。

作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可以方便的进行源码断点调试。其步骤有四,详情不表,粗略概括如下:

打开Chrome开发者工具; 点击进入Sources标签页,在页面的左侧就能看到JS代码的目录; 找到需要设置断点的源文件,在需要中断的哪行代码左侧单击鼠标左键,就可以设置断点,如果你的代码是uglify过的,则需导入相应的source-map来映射源码。 刷新页面(如果设置断点的位置是一个事件处理函数,则直接触发这个事件即可),代码运行到断点处的时候,程序就会挂起,这时候用鼠标hover就可以查看当前各个变量的数值,并以此判断程序是否正常运行了。

但是,当我们用JavaScript开发运行在服务端的Node.js程序时,Chrome开发者工具暂时派不上用场了。虽然也有办法实现在Chrome上调试,不过这不是今天我们讨论的范围。

还有,说用console.log的那位同学,请你先不要说话...

实际上,许多IDE都集成了Debug的功能,包括较新版本的WebStorm就对Node.js调试支持得很好。

但是很多开发人员会觉得IDE太重,有没有更轻量级一些的工具来实现断点调试呢?今天就要给大家安利一下在VScode上进行断点调试的方法。

VScode除了out-of-box支持JavaScript和TypeScript,还支持Node.js调试,简直就是为前端工程师而生的,对不对...

要调试Node.js的前提是,你的电脑上已经安装了Node.js的环境。

什么?怎么安装Node.js&#;给你一点小提示:打开百度,搜索【安装Node.js】,好了,不能提示更多了。

本文以调试express应用为例,并假设您已经安装好了Node.js运行环境。

创建express应用

我们使用express-generator创建一个新的express应用。

1.在全局安装express-generator

a.打开终端,输入:

MacBook用户全局安装的时候记得在前面加上sudo

b.安装完成之后,在终端输入

如果看到下图所示的信息,说明已经安装成功了。

2.生成express应用目录,假设这个应用的名称为myapp

在终端输入

在当前目录就生成了一个myapp目录,目录结构如下:

可以看到,这个小应用已经五脏俱全,有Node服务器配置,公共资源文件夹,师徒文件夹,以及路由配置。

3.运行express应用

a.在终端中输入指令

就可以进入项目目录并安装所有依赖,这一步可能需要比较长的时间,耐心等待安装完成。

详解使用Visual Studio Code对Node.js进行断点调试

b.然后输入指令

就可以启动应用。

这时我们在浏览器中访问localhost:,即可看到如下页面:

这就说明express应用可以正常运行,接下来我们就可以使用VScode调试代码了。

提示:为了避免调试时的端口冲突,我们先回到刚刚运行express应用的终端,ctrl+c关闭正在运行的express应用。

调试express应用

1.进入VScode界面,点击界面左边的第四个类似虫子的按钮,进入调试界面:

2.点击页面上方“没有配置”下拉菜单,选择“添加配置”。

3.选择Node.js环境。

4.选择完成之后,在项目的根目录中会生成一个.vscode的目录,这个目录中存放了各种各样的VScode编辑器的配置。现在这个目录中就包含了一个文件名为lanuch.json的配置文件,配置文件的内容如下:

其中最重要的配置项就是“Program”字段,这个字段定义了整个应用的入口,开启调试器的时候会从这个入口启动应用。

我们发现当前这个字段已经有值了,不要慌,那是因为VScode在初始化这个配置文件的时候,会查看package.json中是否有包含了键名为start的scripts,如果有的话,就会把start配置的内容作为“program”字段的值。

5.点击开始调试按钮(绿色三角形),就可以开始调试。这时界面上方就会出现一个调试控制的面板,页面右下方会出现一个调试控制台,可以查看你输出的信息,在界面下放会出现一个状态栏,当前的橘黄色表示应用在正常运行,如下图所示:

6.我们再次在浏览中访问localhost:,会发现页面可以打开,应用已经正常启动了。

7.接下来我们开始给应用设置断点。我们打开myapp/routes/index.js文件,这个文件配置了应用根路径的路由,当前的处理是返回一个页面,传入字符串"Express"作为视图的参数。

8.我们用鼠标在行号6的左边单击左键,就可以设置一个断点。注意,添加断点之前要先关闭调试,关闭的方法是点击界面上方的调试控制面板中的停止按钮(红色正方形)。

9.设置完断点之后,重新启动调试,然后在浏览器中访问localhost:,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。设置完断点之后,重新启动调试,然后在浏览器中访问localhost:,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。

.在界面的左边,可以查看当前上下文环境,也可以设置变量监听。

.将鼠标防止在断点前的变量或者参数上,也可以查看该变量当前的数值,体验与Chrome开发者工具的调试一致。

Well,开启VScode的Node.js调试之旅吧!!

那个console.log的同学,你可以说话了...

标签: 详解使用Visual Studio Code对Node.js进行断点调试

本文链接地址:https://www.jiuchutong.com/biancheng/379498.html 转载请保留说明!

上一篇:nodejs socket服务端和客户端简单通信功能(nodejs socket框架)

下一篇:详解nodejs中express搭建权限管理系统(nodejs ejs)

  • 公司收到劳务发票怎么申报个税
  • 咨询公司小规模纳税人怎么界定
  • 未结转本年利润影响报表吗
  • 其他综合收益为什么是所有者权益
  • 个体工商户所得税税率表
  • 长期投资换入固定资产如何处理
  • 增值税金内部结算方式
  • 公司购买房产给个人发票
  • 按税收规定计算的扣除额公益性捐赠
  • 车辆保险费的车船税计入什么会计科目
  • 增值税专用发票几个点
  • 专票密码区压线可以报销吗
  • 往期从价房产税未申报怎么处理
  • 年终奖需要计入工资交社保吗
  • 递延所得税资产和递延所得税负债
  • 当月进项留抵如何做账
  • 其他权益工具投资公允价值变动怎么计算
  • 本年收益在借方还结转吗
  • 个体工商户投资金额填多少
  • 工人的意外险如何赔付
  • 防水工程质量问题
  • 系统之家哪个系统比较好用
  • 个税这个月多交了下个月减回来
  • 产品成本核算方法的构成要素
  • 港田路凤凰城
  • 网络通信的整个流程
  • flex布局使用
  • 会计准则长期待摊费用开始计提摊销的时间
  • 清算资金往来的余额方向
  • web前端入门教程
  • 宝塔面板使用教程
  • 股份有限公司都是私企吗
  • opencv调用yolov8
  • js文件合并工具
  • 多模态 融合
  • 遮天传官网
  • 销项负数发票需要入账吗
  • 民办非企业性质还是商业性质吗
  • 金融资产发生的相关费用计入初始入账金额有那些
  • 单位交的那部分医保去哪了
  • python中的生成器
  • dedecms都能做什么网站
  • 建筑企业提供服务的机制保障
  • 在建工程领用自产应税消费品
  • 水利基金的计税税率6
  • 小规模纳税人能开3%的专票吗
  • 代缴员工个人所得税怎么做账
  • 税务发票金额可以增加吗?
  • 实收资本没有实缴,财务报表里面怎么写
  • 其他业务支出可以在企业所得税前扣除吗
  • 分类法与品种法相比,最大的区别是
  • 公司社保委托代发银行是工资卡银行吗
  • 针对收入未申报的问题
  • 长期借款的利息费用计入什么科目
  • 过账发票和不过票的区别
  • 上海残疾人就业保障金计算公式
  • 收到伙食费的会计处理
  • sqlserver日志恢复数据
  • MySql 5.6.35 winx64 安装详细教程
  • win8.1关机没反应
  • win7推送win10
  • win 8系统怎么样
  • centos安装zsh
  • kdeskcore.exe是什么
  • 铁嘴王指什么动物
  • unity alembic
  • jquery Ajax 全局调用封装实例详解
  • linux流量监测工具
  • vue全家桶包含哪些
  • 程序员 master
  • [置顶]马粥街残酷史
  • Android mediaplayer 白屏
  • 收到红字信息表不能直接开具
  • 已经开具的专用发票
  • 单位为员工报销医药
  • 印花税在哪里查询
  • 税控盘可以换成ukey吗
  • 民族贸易产生的原因
  • 国家税务总局查询发票
  • 牛力扳手怎么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设