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

调试

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

相关推荐
烂蜻蜓29 分钟前
Node.js入门教程(一):初识Node.js——服务端JavaScript的诞生与特点
开发语言·javascript·node.js
MoSTChillax2 小时前
数字人竞品分析(中):核心功能、产品使用与技术能力对比
ide·macos·xcode
凌云拓界3 小时前
NodeVerdict:Node.js 原生诊断数据可视化工具
信息可视化·架构·typescript·开源·node.js·github·bug
林三的日常5 小时前
AI编程IDE卡成PPT?低配电脑的末日来了
ide·电脑·ai编程
用户2930750976695 小时前
React Router v6 实战:理解 SPA 路由系统
node.js
2501_915106325 小时前
SwiftUI项目创建详解:使用Xcode从零开始创建第一个App项目
ide·vscode·ios·swiftui·个人开发·xcode·敏捷流程
PC2005-cloud7 小时前
FinalShell 自定义背景图片教程
ide·python·pycharm
2501_916007478 小时前
IDE 是什么?集成开发环境详解与 iOS 开发选型指南
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
星蓝_starblue19 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
梦想CAD控件20 小时前
网页端CAD的图形选择、编辑与夹点操作教程
前端·javascript·node.js