You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue JS 2中如何为history模式配置http-server

问题原因

vue-router 开启 history 模式后,路由跳转基于浏览器 History API 实现,服务端不存在对应路径的真实静态文件。直接访问 /page1 这类子路由路径时,http-server 默认会尝试读取对应路径的静态资源,找不到就返回 404 错误。只要将所有非静态资源的请求都重定向到根目录的 index.html,交给前端路由接管匹配即可解决问题。

解决方案

启动 http-server 时添加 fallback 参数,指定 404 响应返回 index.html 文件,修改后的启动命令如下:

http-server dist -f /index.html

如果你使用的是旧版本 http-server,不支持 -f/--fallback 参数,可以改用代理参数实现相同效果:

http-server dist --proxy http://localhost:8080?

末尾的问号可以避免请求的 query 参数被丢弃,保证路由传参不受影响。

效果验证

修改启动命令重启服务后,再次直接访问子路由地址即可正常加载页面,不会再返回 404。

内容的提问来源于stack exchange,提问作者Fomalhaut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 07:51:02