Live Server 点“Go Live”没反应的根本原因是工作区根目录缺少 index.html 或路径含中文/空格导致启动失败;热更新失效多因 body 标签缺失或被注释、浏览器缓存、script 标签使用 defer/type="module" 干扰脚本注入,且它仅支持整页刷新而非 HMR。

Live Server 不支持真正的热更新(HMR),它只做整页刷新;但对纯 HTML/CSS/JS 项目,保存即 reload 已足够高效——前提是配置和使用方式正确。
为什么点“Go Live”没反应
根本原因不是插件坏了,而是 VS Code 没识别出可服务的入口文件。
- 必须打开一个已保存的
index.html(或任意.html文件),未保存的临时标签页不会触发右键菜单 - 工作区根目录下没有
index.html?Live Server 默认只认这个文件名,不扫描其他 HTML - 路径含中文、空格或特殊符号(如
D:\我的项目\index.html)会导致启动失败,建议先挪到C:\demo\测试 - 右下角状态栏没显示
Live Server: http://127.0.0.1:5500,说明服务根本没起来;此时别点“Go Live”,直接右键 HTML 文件选Open with Live Server
改了 CSS/JS 页面却不刷新
不是 Live Server 失效,而是脚本注入失败或浏览器缓存掩盖了变化。
-
标签被注释、缺失或写成(多空格)都会导致 Live Server 无法在前插入 WebSocket 监听脚本 - 避免在
<script></script>标签里加defer或type="module",它们可能让注入时机错乱 - 浏览器缓存是最大干扰项:打开 DevTools → Network → 勾选
Disable cache(仅 DevTools 开着时生效) - 如果用构建工具(Vite/Webpack),别混用 Live Server——它不解析
import,也不处理模块路径
如何让修改真正“秒生效”
关键不在插件本身,而在路径、监听范围和开发习惯。
- 所有资源引用统一用根相对路径:
href="/css/style.css",而不是./css/style.css或../css/style.css - Live Server 的“网站根目录” = VS Code 当前打开的文件夹,不是 HTML 所在子目录;若 HTML 在
src/index.html,服务根就是src/,/assets/logo.png就得放在src/assets/ - 默认只监听
.html、.css、.js,想监听.ts或.json?改设置liveServer.settings.fileExtensions,填["html", "css", "js", "ts"] - 端口被占(比如另一个
python -m http.server正跑着)?搜liveServer.settings.port改成3000或8080,顺便关掉liveServer.settings.donotVerifyPort防止静默失败
最容易被忽略的一点:Live Server 启动后,浏览器地址栏必须是 http://127.0.0.1:5500/ 这类地址,不是 file:///。后者连 fetch 和 import 都会因跨域被拦,根本不是 Live Server 在干活。


















