live server插件不连接浏览器,而是启动本地http服务器,浏览器需通过http://协议访问才能正常运行js、加载模块和解析路径;必须以文件夹形式打开工作区,右键html文件选择“open with live server”更可靠,因路径解析以该文件所在目录为根,避免404;默认不监听css/js修改,仅支持html类文件保存触发刷新,非hmr工具;真热更新应使用vite等工具。

Live Server 插件本身不“连接”浏览器,它启动一个本地 HTTP 服务器,浏览器通过 http:// 协议访问这个服务——这才是真正能跑 JS、加载模块、解析相对路径的环境。别指望拖个 index.html 进 VSCode 就能自动生效。
为什么右键“Open with Live Server”比点状态栏“Go Live”更可靠
状态栏的 Go Live 按钮默认以当前工作区根目录为服务根路径,但如果你没通过“文件 → 打开文件夹”加载整个项目,而是只打开了单个 index.html 文件,它会把该文件所在父目录当作根,导致 ./css/style.css 找不到;右键操作则明确以该 HTML 文件所在目录为起点启动服务,路径逻辑更可控。
- 必须用“文件 → 打开文件夹”加载项目,不能只拖一个 HTML 文件进来
- 如果入口文件不是
index.html(比如叫home.html),Go Live不会自动打开它,得手动访问http://127.0.0.1:5500/home.html - 路径含中文或空格时,旧版 Live Server 可能 404,优先改用全英文小写命名
Live Server 修改 CSS/JS 不刷新?这不是 bug,是设计如此
Live Server 默认监听 .html、.htm、.xhtml、.php 等后缀,对 .css 和 .js 的修改**不触发整页刷新**(部分版本支持 CSS 注入,但不稳定、不可依赖)。它不是热模块替换(HMR)工具。
- 想靠保存
style.css自动更新样式?基本不行,得改index.html或任意一个被监听的文件再保存一次 - 检查
<link rel="stylesheet" href="css/style.css">中的路径是否真实存在,VSCode 资源管理器里要能看到./css/style.css - Chrome DevTools → Network 标签页勾选
Disable cache,排除缓存干扰
需要真 HMR?关掉 Live Server,换 Vite
只要代码里出现 import、export、jsx、typescript 或任何构建需求,Live Server 就失效了——它不解析模块,不编译,不处理路径别名。
- 新项目:运行
npm create vite@latest,选框架,然后npm install && npm run dev,地址默认是http://127.0.0.1:5173/ - 已有项目含上述特性?直接停用 Live Server,用原生开发服务器,否则 JS 报错、CSS 不生效、路由跳转失败全是常态
- Vite 的 HMR 是局部更新,状态保留,错误直接打在终端和浏览器 console,而 Live Server 刷新慢、不报错、JS 全丢
真正容易被忽略的是协议判断:浏览器地址栏必须是 http:// 开头,绝不能是 file:///。后者连 fetch() 都被拦截,import 直接 404——所有“功能异常”,90% 源于此处。











