live server 并非真正热更新,仅全页重载且只监听被 html 正确引用的 html/css/js 产物文件;改 scss/ts 无效因不处理源码,用 vite/webpack 等才支持 hmr。

Live Server 是目前最直接、最稳定的方式,但必须确认它是否真的在监听你改的文件——很多人以为开了就自动同步,结果改了 JS 却没刷新,其实是路径或文件类型没被纳入监听范围。
Live Server 启动后浏览器没自动刷新?先看这三点
常见现象是 HTML 刷新了,但新写的 console.log 不打印、CSS 样式没变。这不是插件坏了,而是触发条件没满足:
-
index.html必须是被右键点击并选择Open with Live Server的那个文件——不是随便打开的 HTML,也不是点“在默认浏览器中打开” - 地址栏必须是
http://127.0.0.1:5500/这类本地服务地址,不能是file:///开头;后者根本没走服务器,自然不支持热更新 - 修改的文件得被当前页面实际引用:比如改了
script.js,但index.html里写的是<script src="main.js"></script>,那改script.js就完全无效
为什么改了 SCSS 或 TypeScript 没反应?Live Server 不处理源文件
Live Server 只监听最终被 HTML <link> 或 <script></script> 引入的产物文件(如 style.css、bundle.js),对 style.scss、app.ts 这类源码完全无感。
- 如果你用
sass --watch或tsc --watch编译出 CSS/JS,确保输出路径和 HTML 中引用的路径一致 - 检查编译后的文件是否真被保存到磁盘——有些构建工具(如 Vite)默认把产物存在内存里,Live Server 看不到
- 若用 Webpack/Vite/React 脚手架,别硬套 Live Server,它们自带开发服务器,
npm run dev才是正解
想在编辑器里直接看效果?vscode-browser-preview 更适合调试
它不是替代 Live Server,而是解决另一类问题:不想切窗口、需要 DevTools、要模拟设备尺寸。
- 安装后用
Ctrl+Shift+P输入Browser Preview: Open Preview启动 - 它基于 Chromium,能执行
fetch、WebSocket、Service Worker,比 Live Server 支持更多现代 API - 调试时需额外装
Debugger for Chrome,并在.vscode/launch.json里配"type": "browser-preview" - 注意:它不自动监听文件变化,保存后要手动按
Ctrl+R刷新预览窗——这点和 Live Server 本质不同
真正容易被忽略的是:Live Server 的监听粒度只到“被引用的文件”,不是整个项目;而 vscode-browser-preview 的强项是调试能力,不是热重载。选哪个,取决于你现在是在写静态页面,还是在调一个带 API 的交互逻辑。











