如何利用vscode进行断点调试后端node开发的项目,如express或koa?

介绍

在我们平常开发中前端可以通过浏览器断点调试代码执行的过程,但是node项目后端通常用命令启动,但命令启动项目也只能打印日志信息,不能断点。所以这一章节教大家如何利用vscode进行断点调试。

步骤

配置launch.json文件

代码如下:

复制代码
"version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "name": "server",
            "program": "${workspaceFolder}/servers/index.js",
            "sourceMaps": true,
            "protocol": "inspector",
            "args": [],
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "node",
            "runtimeArgs": ["--nolazy"],
            "env": {
                "NODE_ENV":"dev",
                "SERVER_PORT":"8086",
                "DB_HOST":"127.0.0.1",
                "DB_NAME":"数据库名称",
                "DB_USER":"",
                "DB_PASSWORD":"",
                "DB_PORT":"27017",
                "JWT_SECRET":"www.guiplan.com",
                "JWT_EXPIRE":"7d",
                "STATIC_PATH":"statics",
                "AUTH":"HSKAHDJSODURUEE"
            },
            "console": "integratedTerminal"
},

configurations 这里是一个数组可以用来配置各种服务

type 则是项目的类型,我这边node后端项目,则可写node类型

name 为服务的名称,启动服务时用于选择对应的名称来启动如下图,会自动出现到启动列表中

program 则为要启动的js文件,而这里的${workspaceFolder} 则表示当前项目的根目录地址

sourceMaps 表示是否使用map,使用map可以定位源码,而不是编译之后的代码

protocol 则为要选用那种调试器调试,这里选用inspector调试器

env 这里一定要注意,系统自带的.env文件里的数据无法读取,这里只能把里面的数据再重新写入进来。

启动服务

如下图点击即可启动服务

断点

打开你的js文件点击左边序号这块即可断点了

调试

断点 之后只要前端调用了接口,进入到断点就会停留再此处,右上角可以操作代码是否继续执行或跳过断点,而最底部控制台则可以自己输入变量或函数看看改代码的值是什么。

相关推荐
Moshow郑锴7 小时前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
1024奇点11 小时前
【仓颉语言入门 · 第二篇 第 12 课】
开发语言·数据库·ide·mysql·开源
迪菲赫尔曼12 小时前
【基础篇 08】让VS Code连接服务器:界面在本地,文件保存到远端
运维·服务器·vscode·yolo·论文·教程·ultralyt
2501_9151063213 小时前
Windows 上开发 Unity iOS,使用 KXBuild 进行真机调试、性能采样与打包 ipa
windows·vscode·unity·ios·个人开发·swift·敏捷流程
少年的范儿13 小时前
Windows 安装 Node.js 教程:nvm 版本管理 + pnpm 安装配置
windows·npm·node.js
peach14 小时前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
weixin_3993806915 小时前
TongWeb7.0.4.9M11如何接入到idea(by lqw)
java·ide·intellij-idea
FungLeo17 小时前
成为全栈·Go 后端篇·重写之前先锁基线:契约、Node 版本与行为清单
golang·node.js·go·openapi·契约测试·成为全栈
MicrosoftReactor1 天前
技术速递|超越一刀切:为 GitHub Copilot CLI 和 VS Code 实现决策路由
vscode·ai·github·copilot·决策路由
FungLeo2 天前
成为全栈·Go 后端篇·契约一致性与差分测试:两套实现如何互相校验
golang·node.js·go·合约测试·差分测试·成为全栈·api兼容