通过配置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
# 并为
# 调试器
# 可选
# 翻倍
# 会在
# 一键
# 多个
# 后端
# a
# 浏览器
# vite
# node
# json
# node.js
# 前端
# js
# vscode
# react
# php
# npm
# 罗定网站优化
# 阿里巴巴网站的名称优化
# 台州网站建设北路小学
# SEO北京环球乐园拍照
# 营销双月推广
# 石林快消品营销推广中心
# 网站商城如何引流推广
# 济南网站建设框架设计
# seo优化的优点
# 涉县推广营销中心地址
# 如果你
# 的是
相关栏目:
【
企业资讯168 】
【
行业动态20933 】
【
网络营销52431 】
【
网络学院91036 】
【
运营推广7012 】
【
科技资讯60970 】
相关推荐:
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
新手怎么开始学化妆 零基础化妆入门教程
自定义Bag-of-Words实现:处理带负号的词汇权重
LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读
Pyrogram与g4f集成:异步编程实践与常见错误解决
利用5118提升短视频内容效果_5118短视频关键词优化方法
Win10快速启动功能利弊分析 Win10开启或关闭快速启动教程【技巧】
Golang并发任务中错误如何聚合_Golang goroutine error收集方式
一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法
J*aScript实现单选按钮与关联输入框的联动禁用教程
在低带宽网络下使用VS Code远程开发的配置技巧
C++ string清空内容_C++ clear与empty用法
Python模块化编程:有效管理依赖与避免循环引用
PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract
Golang如何实现简单的Web表单_Golang表单提交与验证处理方法
MAC怎么让Dock栏只显示当前运行的应用_MAC终端命令实现极简Dock栏
C++如何操作注册表_Windows平台下C++读写注册表的API函数详解
yandex入口引擎手机版 yandex安卓版下载入口
微信网页版登录教程_微信网页版登录入口在哪
荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程
Win11怎么查看显卡显存 Win11显示适配器属性及专用视频内存查询
C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
Android Studio计算器C键逻辑错误排查与修复:条件判断优化指南
Angular中父组件异步更新子组件复选框状态的实践指南
J*aScript中向JSON对象添加新属性的正确姿势
极兔快递快件信息查询系统 极兔快递官网运单号追踪
Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】
火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧
如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略
Archive of Our Own官网直达 AO3最新可用地址一览
MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略
处理动态列数据:J*a ArrayList的正确初始化与字符累加教程
如何在 Excel Online 和 Google 表格中更改日期格式
c++20的std::jthread是什么_c++可中断线程与RAII式管理
CSS条件样式无法按设备触发怎么排查_media条件语句正确设置解决触发问题
文本文档写html代码怎么运行_文本文档html代码运行步骤【教程】
css元素hover动画延迟生效怎么办_使用animation-delay调整触发时间
vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法
CSS Grid如何控制元素对齐_align-items与justify-items组合使用
html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】
PDO预处理语句中冒号的正确处理:区分SQL函数格式与命名占位符
优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题
Google翻译怎么语音输入_Google翻译语音输入功能使用与设置方法
Lar*el递归关系中排除子孙节点的策略
谷歌浏览器如何快速清除某个网站的数据_Chrome网站缓存清理方法
理解J*aScript Promise的微任务队列与执行顺序
高德地图沿途添加点失败如何解决 高德多点规划方法
夸克浏览器图书入口 夸克手机浏览器阅读入口
铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧


