如何在VSCode中一边运行后端项目一边进行热更新(Hot Reload)避免重启

大杰姑娘_7000

大杰姑娘_7000

2026-03-31

249人浏览

原创

node.js用nodemon实现热更新最轻量稳定,需配置--watch、--ext和--ignore;python用flask/fastapi原生debug/reload,vscode调试器需避免干扰;终端分屏与tasks.json可提升效率,失效时优先检查路径、保存机制及ide缓存。

如何在vscode中一边运行后端项目一边进行热更新(hot reload)避免重启

Node.js 后端用 nodemon 实现热更新

VSCode 本身不提供后端热更新能力,得靠外部工具。对 Node.js 项目来说,nodemon 是最轻量、最稳的选择——它监听文件变化,自动重启进程,比手动 Ctrl+Cnpm start 快得多。

常见错误是直接在终端里跑 nodemon app.js,但没配忽略目录,导致日志轮转、node_modules 或临时文件一改就触发重启,反而卡住。

  • 装全局或本地都行:npm install -D nodemon,然后在 package.jsonscripts 里加 "dev": "nodemon --watch src --ext js,json --ignore 'src/**/*.test.js' server.js"
  • --watch 显式指定监控目录,别依赖默认行为;--ext 补全要监听的扩展名,比如你用了 .cjs.ts 就得加上
  • Windows 下路径分隔符容易出问题,统一用正斜杠或双反斜杠,比如 --ignore "dist\**\*"
  • 如果用了 ts-node,别混用 nodemontsc --watch,优先选 nodemon -x ts-node server.ts,避免双重编译

Python Flask/FastAPI 用 debug=True + VSCode 调试器联动

Python 后端热更新不是靠 VSCode 插件,而是框架原生支持:Flask 的 debug=True、FastAPI 的 reload=True 已经内置了文件监听和软重启逻辑。关键是怎么让 VSCode 的调试器不干扰它。

典型翻车现场:点绿色「运行」按钮启动调试,结果 debug=False 或没传 --reload,改完代码毫无反应;或者调试器绑定了 localhost:5000,但热重载又起了另一个端口,请求发错地方。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • Flask:启动命令必须含 FLASK_ENV=development FLASK_DEBUG=1 flask run,或代码里写 app.run(debug=True);别在生产环境配置下硬开 debug
  • FastAPI:用 uvicorn main:app --reload --reload-dir ./src--reload-dir 指定具体目录比默认扫描更准,尤其项目结构复杂时
  • VSCode 的 launch.json 里不要设 "request": "launch" 去跑 Python 文件,改用 "request": "attach" 或干脆不用调试器——热更新期间断点可能失效,真要调试就暂停 reload 先
  • 注意 os.environ 或配置文件加载时机:有些初始化逻辑(比如数据库连接)写在模块顶层,热重载时会重复执行,引发连接泄漏

VSCode 终端分屏 + 自定义任务避免窗口混乱

一边跑服务、一边看日志、一边写代码,三个终端来回切,输错命令就中断服务——这不是效率,是自我消耗。VSCode 的集成终端分屏和 tasks.json 能把流程固化下来,减少手误。

容易被忽略的是:默认终端共享 shell 环境,一个 tab 里 cd 了,其他 tab 并不同步;而且没做清理的话,关掉终端再开,上一次的进程可能还在后台跑着,端口被占,新服务起不来。

  • 分屏操作:右键终端标题栏 → Split Terminal,最多三列够用;按 Ctrl+Shift+P 输入 Terminal: Rename 给每个 tab 打标签,比如 backend-devlogs
  • .vscode/tasks.json 里定义一个 nodemon 任务,设 "isBackground": true"problemMatcher": ["$tsc"](适配你的语言),这样 Ctrl+Shift+B 就能一键拉起且不阻塞编辑
  • 每次启动前加个清理步骤:lsof -i :3000 | grep LISTEN | awk '{print $2}' | xargs kill -9(macOS/Linux),或 Windows 上用 netstat -ano | findstr :3000 手动杀
  • 别用 VSCode 内置的「输出」面板看服务日志——它不支持实时滚动和搜索,还是终端靠谱;但可以配 outputChannel 把关键错误高亮推送到通知栏

热更新失效时优先查这三件事

改了代码没反应?先别怀疑工具链,90% 是路径、权限或缓存问题。尤其是团队协作项目,有人改了 webpack.config.jspyproject.toml 却没同步说明,新人直接踩坑。

  • 确认文件真的被修改时间戳更新了:编辑器可能启用了「延迟写入」或「安全写入」,关掉 VSCode 的 files.autoSave 或设为 onFocusChange,避免保存前就触发监听
  • 检查当前工作目录是否正确:pwd(Linux/macOS)或 cd(Windows)看终端路径,nodemon--watch 是相对这个路径解析的
  • IDE 缓存干扰:VSCode 的文件索引有时滞后,尤其用 WSL 或远程开发时,删掉 .vscode/workspaceStorage 里对应项目的缓存目录,重启窗口

热更新不是魔法,它只是对文件系统事件的响应。监听范围太宽会误触发,太窄又漏改;路径写错、权限不足、编辑器保存机制差异,都会让它看起来“失灵”。盯住 nodemon 的启动日志或 uvicornINFO: Watching for file changes with StatReload 这行输出,才是第一手判断依据。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
flask框架如何搭建
flask框架如何搭建

搭建步骤:1、安装Python和Pip;2、创建虚拟环境;3、安装Flask;4、创建Flask应用;5、运行应用;6、访问应用。想了解更多flask框架的相关内容,可以阅读本专题下面的文章。

2024.06.27

2855

8

Python Flask框架
Python Flask框架

本专题专注于 Python 轻量级 Web 框架 Flask 的学习与实战,内容涵盖路由与视图、模板渲染、表单处理、数据库集成、用户认证以及RESTful API 开发。通过博客系统、任务管理工具与微服务接口等项目实战,帮助学员掌握 Flask 在快速构建小型到中型 Web 应用中的核心技能。

2025.08.25

4244

10

Python Flask Web框架与API开发
Python Flask Web框架与API开发

本专题系统介绍 Python Flask Web框架的基础与进阶应用,包括Flask路由、请求与响应、模板渲染、表单处理、安全性加固、数据库集成(SQLAlchemy)、以及使用Flask构建 RESTful API 服务。通过多个实战项目,帮助学习者掌握使用 Flask 开发高效、可扩展的 Web 应用与 API。

2025.12.15

256

16

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

1955

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2582

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

896

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

2879

7

Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API

Python FastAPI 异步开发利用 async/await 关键字,通过定义异步视图函数、使用异步数据库库 (如 databases)、异步 HTTP 客户端 (如 httpx),并结合后台任务队列(如 Celery)和异步依赖项,实现高效的 I/O 密集型 API,显著提升吞吐量和响应速度,尤其适用于处理数据库查询、网络请求等耗时操作,无需阻塞主线程。

2025.12.22

99

5

Python 微服务架构与 FastAPI 框架
Python 微服务架构与 FastAPI 框架

本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。

2026.02.06

494

18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程