404错误主因是Live Server配置与项目结构不匹配:需以文件夹方式打开项目、确保index.html命名或手动指定路径、检查端口占用及插件干扰,并注意路径基准为工作区根目录而非HTML所在目录。

404 错误不是 VSCode 的错,它根本没在跑服务器——真正该查的是你用的启动方式(Live Server / 自定义脚本 / 浏览器直接打开)是否匹配文件路径、工作区结构和协议限制。
Live Server 启动后访问 / 报 404 或空白页
这说明 Live Server 没把你的 HTML 文件当入口,或者压根没识别到项目根目录。
- 必须通过 File → Open Folder 打开整个项目文件夹,不能双击单个
.html文件启动 - Live Server 默认只响应
index.html;如果主文件叫app.html,浏览器地址栏要手动改成http://127.0.0.1:5500/app.html - 检查 VS Code 右下角状态栏:显示
Go Live (5500)才算真启动了;没显示就只是右键失效,不是插件坏了 - 路径含中文、空格或特殊符号(如
我的项目/index.html)会导致部分版本 Live Server 解析失败,换成my-project/index.html再试
src="js/app.js" 或 href="css/style.css" 报 404
资源路径看起来没错,但浏览器请求的 URL 和磁盘上真实位置对不上——根源在于“相对路径基准”被搞混了。
- Live Server 以 **VS Code 工作区根目录** 为
/,不是 HTML 文件所在子目录。例如项目结构是my-project/src/index.html,那src="js/app.js"实际请求的是http://127.0.0.1:5500/js/app.js,而非http://127.0.0.1:5500/src/js/app.js - 想让路径按 HTML 文件位置算?改用相对路径:
src="./js/app.js"或src="../js/app.js"(注意开头的.或..) - 拖拽文件到 HTML 的
src或href属性里,VS Code 会自动补全正确相对路径,比手写靠谱 - 别用
<base href="/>,它会强行重写所有相对路径,Live Server 下极易引发意外 404
浏览器控制台显示 net::ERR_ABORTED 404 且 Initiator 是 content-script.js
这不是服务端问题,是某个插件劫持了请求——尤其常见于前端开发常用扩展。
立即学习“前端免费学习笔记(深入)”;
- VS Code 中禁用这些插件并重启窗口:
Vetur、Auto Rename Tag、Prettier、ESLint - Chrome 打开隐身窗口(无任何扩展),访问同一地址;如果 404 消失,基本锁定是插件干扰
- 打开 Network 面板,点开一个 404 请求,看 Initiator 列:如果是
tampermonkey、adguard或某个.js文件名,就是它干的 - 某些广告屏蔽器或“前端助手”类扩展会重写
fetch或注入脚本,导致资源请求发到错误路径
终端显示 “server running”,但所有请求都 404
服务根本没起来,只是日志骗了你——端口被占是最隐蔽也最高频的元凶。
- 运行
netstat -ano | findstr "5500"(把5500换成你实际端口),如果有输出且末尾带数字(如12345),说明端口正被占用 - 执行
taskkill /F /pid 12345干掉它;Windows 下若提示命令不存在,先cd c:\WINDOWS\system32\再执行 - Live Server 被占端口时可能 fallback 到空服务,不报错但所有请求返回 404;Vite/Webpack 等工具也会静默降级,别信日志里的 “running”
- Linux/macOS 用户注意大小写:
logo.png≠Logo.PNG,本地开发可能不报错,但 Live Server 启动的 HTTP 服务严格区分大小写
真正卡住的 404,往往发生在“路径看似合理、服务看似运行、插件看似无关”的交叉地带。这时候别调代码,先做三件事:确认端口干净、确认工作区是文件夹而非单文件、关掉所有非必要插件——做完这三步,绝大多数 404 就消失了。


















