新闻中心
在VS Code中配置多目标调试(前端+后端)
通过配置VS Code的复合启动功能,可一键调试全栈应用。1. 确保项目结构包含前端和后端子目录,并使用支持调试的框架;2. 在.vscode/launch.json中定义前后端调试配置,前端通过Chrome调试器连接3000端口,后端以Node.js调试模式启动server.js;3. 使用compounds将多个配置合并为“Debug Full Stack”;4. 安装Chrome或Edge调试扩展;5. 启动时选择“Debug Full Stack”并运行,VS Code将同时启动前后端进程并支持断点调试;6. 可选地通过npm script统一管理启动流程,提升调试一致性与便捷性。

在开发全栈应用时,经常需要同时调试前端和后端。VS Code 支持通过 复合启动配置 实现多目标调试,让你一键启动并调试前后端两个进程。
1. 确保项目结构支持多环境调试
典型的项目结构如下:
my-app/ ├── .vscode/ │ └── launch.json ├── frontend/ │ ├── package.json // 含 "start": "react-scripts start" │ └── src/ ├── backend/ │ ├── package.json // 含 "dev": "nodemon server.js" │ └── server.js
确保前端使用如 Create React App、Vite 等支持调试的框架,后端使用 Node.js + 源码映射(source maps)。
2. 配置 launch.json 支持多进程调试
在 .vscode/launch.json 中定义多个调试配置,并用复合配置组合它们:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Frontend",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/frontend/src",
"sourceMapPathOverrides": {
"webpack:///src/*": "${workspaceFolder}/frontend/src/*"
}
},
{
"name": "Launch Backend",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/backend/server.js",
"cwd": "${workspaceFolder}/backend",
"console": "integratedTerminal",
"outFiles": [
"${workspaceFolder}/backend/**/*.js"
],
"autoAttachChildProcesses": true
}
],
"compounds": [
{
"name": "Debug Full Stack",
"configurations": ["Launch Backend", "Launch Frontend"]
}
]
}
说明:
- Launch Frontend:使用 Chrome 调试器连接运行在 3000 端口的前端应用。
- Launch Backend:以调试模式启动 backend/server.js,通常配合 nodemon 或直接使用 node --inspect。
- compounds:将多个配置合并为一个操作。“Debug Full Stack” 会同时启动前后端调试会话。
3. 安装并配置浏览器调试扩展
确保已安装 Debugger for Chrome 或使用新版 VS Code 内建的 Edge/Chrome 调试支持。若使用其他浏览器,请安装对应调试工具。
如果你使用的是基于 Chromium 的浏览器,上面的 type: "chrome" 可正常工作。也可改为 "type": "msedge" 或使用 browser: "chrome" 显式指定。
Narration Box
Narration Box是一种语音生成服务,用户可以创建画外音、旁白、有声读物、音频页面、播客等
68
查看详情
4. 启动多目标调试
打开 VS Code 的调试面板,选择启动配置为 Debug Full Stack,点击“运行”按钮或按 F5。
- VS Code 会在集成终端中启动后端服务(需确保 nodemon 或 node 已安装)。
- 自动打开 Chrome 调试前端,加载 http://localhost:3000。
- 你可以在前后端代码中设置断点,调试器会在命中时暂停。
提示: 若前端未自动打开浏览器,检查是否已运行前端服务。也可将前端服务也通过 console: "integratedTerminal" 启动,使用 runtimeExecutable 调用 npm。
5. 可选:通过 npm script 统一管理
可在 compound 中直接调用 npm script,简化流程:
{
"name": "Start Frontend with npm",
"type": "node",
"request": "launch",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "start"],
"cwd": "${workspaceFolder}/frontend",
"console": "integratedTerminal"
}
这样就不依赖外部启动服务,所有内容都在 VS Code 控制之下。
基本上就这些。配置一次后,每次调试只需选中复合配置,一键启动整个应用。不复杂但容易忽略细节,比如路径映射或端口冲突。确保前后端服务端口不冲突,且源码路径正确映射,调试体验就很顺畅。
以上就是在VS Code中配置多目标调试(前端+后端)的详细内容,更多请关注php中文网其它相关文章!
# java
# php
# a
# 浏览器
# npm
# vite
# node
# json
# node.js
# 前端
# js
# vscode
# react
# 罗定网站优化
# 阿里巴巴网站的名称优化
# 台州网站建设北路小学
# SEO北京环球乐园拍照
# 营销双月推广
# 石林快消品营销推广中心
# 网站商城如何引流推广
# 济南网站建设框架设计
# seo优化的优点
# 涉县推广营销中心地址
# 如果你
# 的是
# 并为
# 调试器
# 可选
# 翻倍
# 会在
# 一键
# 多个
# 后端
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
微信网页版登录教程_微信网页版登录入口在哪
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
J*aScript:在map操作中高效处理空数组
将HTML动态表格多行数据保存到Google Sheet的教程
Linux如何构建多环境配置管理_Linux多环境配置方案
如何将HTML表格多行数据保存到Google Sheets
AO3中文官网链接_AO3网页版稳定镜像站
Win11怎么安装Linux子系统 Win11 WSL2安装Ubuntu及环境配置指南
蛙漫移动版在线看 蛙漫手机浏览器直达入口
composer 和 npm/yarn 在管理依赖方面有什么核心思想差异?
Mac怎么查看崩溃日志_Mac控制台错误报告分析
taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】
铁路12306官网网页端快速入口 铁路12306官方首页登录教程
PHP表单数据传递:如何通过隐藏输入字段获取动态ID
J*a里如何使用N*igableMap进行导航操作_可导航Map操作技巧解析
Composer的 "check-platform-reqs" 命令有什么用_在部署前检查生产环境是否满足Composer依赖需求
Go语言中Map存储的结构体如何调用指针方法:深入解析与实践
地铁跑酷免费秒玩入口链接 地铁跑酷小游戏免费秒玩网站
c++ 获取系统当前时间 c++时间戳获取方法
打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门
魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】
必由学官网入口 必由学教师登录入口
Angular Material 垂直步进器:实现底部到顶部排序的教程
Lar*el用户头像管理:实现图片缩放、存储与旧文件安全删除的最佳实践
Shopware订单对象中获取产品自定义字段的正确方法
格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施
AngularJS $http POST请求数据传递与Go后端接收实践
Spring Boot嵌入式服务器与J*a EE:功能支持深度解析
css元素hover动画延迟生效怎么办_使用animation-delay调整触发时间
解决Python单元测试中Mock异常方法调用计数为零的问题
Lar*el Excel导入时生成自定义递增ID的策略与实践
J*aScript数组对象转换:按指定键分组与值收集
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
使用J*aScript检测输入元素是否包含在特定类中
PDO预处理语句中冒号的正确处理:区分SQL函数格式与命名占位符
利用Bokeh CustomJS动态控制DataTable列可见性
win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法
HTML长属性值处理:表单action路径优化与代码规范应对
高德地图沿途添加点失败如何解决 高德多点规划方法
mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析
照顾宝贝2小游戏免费秒玩入口
J*a最大堆Heapify方法修复:索引计算与边界条件深度解析
Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法
在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全
J*aScript map 方法中处理循环元素为空数组的策略
Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】
小红书网页版入口链接分享 小红书官网直接进
ArrayList与LinkedList操作复杂度详解:遍历与修改
C++ map遍历方法大全_C++ map迭代器使用总结
Yandex浏览器官方网页版入口 Yandex浏览器最新版官网


2025-12-01
浏览次数:次
返回列表