如何利用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文件点击左边序号这块即可断点了

调试

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

相关推荐
张紫娃1 小时前
idea 常用快捷键
java·ide·intellij-idea
GDAL2 小时前
os.machine()详解
node.js
chhei.6 小时前
使用Pycharm集成开发工具远程调试部署在虚拟机上的flask项目:超级详细的完整指南
ide·pycharm·flask
爱吃面条的猿6 小时前
pycharm中自动补全方法返回变量
ide·python·pycharm
KD3357 小时前
学习笔记 Datewhale MCP Server Task2
vscode
爱听许嵩歌7 小时前
Windows符号链接解决vscode和pycharm占用C盘空间太大的问题
ide·vscode·pycharm
肥or胖8 小时前
Visual Studio 2022 上使用ffmpeg
ide·ffmpeg·visual studio
ricky_fan8 小时前
解决bash终端的路径名称乱码问题
开发语言·chrome·vscode·bash
mgx_7189 小时前
windows指定某node及npm版本下载
前端·npm·node.js
Korloa9 小时前
浅谈npm,cnpm,pnpm,npx,nvm,yarn之间的区别
前端·npm·node.js