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

作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可以方便的进行源码断点调试。其步骤有四,详情不表,粗略概括如下:
但是,当我们用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.打开终端,输入:
npm install express-generator -g
MacBook用户全局安装的时候记得在前面加上sudo
b.安装完成之后,在终端输入
express -v
如果看到下图所示的信息,说明已经安装成功了。
2.生成express应用目录,假设这个应用的名称为myapp
在终端输入
express myapp
在当前目录就生成了一个myapp目录,目录结构如下:
可以看到,这个小应用已经五脏俱全,有Node服务器配置,公共资源文件夹,师徒文件夹,以及路由配置。
3.运行express应用
a.在终端中输入指令
cd myapp && npm install
就可以进入项目目录并安装所有依赖,这一步可能需要比较长的时间,耐心等待安装完成。
b.然后输入指令
npm start
就可以启动应用。
这时我们在浏览器中访问localhost:3000,即可看到如下页面:
这就说明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:3000,会发现页面可以打开,应用已经正常启动了。
7.接下来我们开始给应用设置断点。我们打开myapp/routes/index.js文件,这个文件配置了应用根路径的路由,当前的处理是返回一个页面,传入字符串"Express"作为视图的参数。
8.我们用鼠标在行号6的左边单击左键,就可以设置一个断点。注意,添加断点之前要先关闭调试,关闭的方法是点击界面上方的调试控制面板中的停止按钮(红色正方形)。
9.设置完断点之后,重新启动调试,然后在浏览器中访问localhost:3000,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。设置完断点之后,重新启动调试,然后在浏览器中访问localhost:3000,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。
10.在界面的左边,可以查看当前上下文环境,也可以设置变量监听。
11.将鼠标防止在断点前的变量或者参数上,也可以查看该变量当前的数值,体验与Chrome开发者工具的调试一致。
Well,开启VScode的Node.js调试之旅吧!!
那个console.log的同学,你可以说话了...
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Node.js
# 断点调试
# nodejs
# vscode调试node.js的实现方法
# Node.js使用supervisor进行开发中调试的方法
# 详解如何在vscode里面调试js和node.js的方法步骤
# sublime text配置node.js调试(图文教程)
# 基于node.js之调试器详解
# Node.js利用debug模块打印出调试日志的方法
# Node.js调试技术总结分享
# 利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
# 调试Node.JS的辅助工具(NodeWatcher)
# Node.js 深度调试方法解析
# 就可以
# 都是
# 是一个
# 发生了
# 就会
# 配置文件
# 好了
# 正常运行
# 可以查看
# 就能
# 这时候
# 器中
# 所示
# 行号
# 这几个
# 重启
# 停留在
# 重新启动
# 跳过
# 单击
相关文章:
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何配置WinSCP新建站点的密钥验证步骤?
建站主机解析:虚拟主机配置与服务器选择指南
建站DNS解析失败?如何正确配置域名服务器?
教程网站设计制作软件,怎么创建自己的一个网站?
开源网站制作软件,开源网站什么意思?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何在IIS中新建站点并解决端口绑定冲突?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
如何高效利用200m空间完成建站?
临沂网站制作企业,临沂第三中学官方网站?
MySQL查询结果复制到新表的方法(更新、插入)
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
如何在建站主机中优化服务器配置?
网站制作新手教程,新手建设一个网站需要注意些什么?
公司网站制作价格怎么算,公司办个官网需要多少钱?
外贸公司网站制作哪家好,maersk船公司官网?
网站制作模板下载什么软件,ppt模板免费下载网站?
建站之星如何快速解决建站难题?
建站之星收费标准详解:套餐费用及年费价格表一览
Swift中循环语句中的转移语句 break 和 continue
如何用PHP快速搭建CMS系统?
如何高效搭建专业期货交易平台网站?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
购物网站制作公司有哪些,哪个购物网站比较好?
深圳网站制作案例,网页的相关名词有哪些?
建站主机与服务器功能差异如何区分?
如何在阿里云香港服务器快速搭建网站?
已有域名能否直接搭建网站?
如何正确选择百度移动适配建站域名?
公司门户网站制作流程,华为官网怎么做?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
如何在阿里云完成域名注册与建站?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
制作表格网站有哪些,线上表格怎么弄?
建站之星如何取消后台验证码生成?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
如何用低价快速搭建高质量网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何解决ASP生成WAP建站中文乱码问题?
*请认真填写需求信息,我们会在24小时内与您取得联系。