前端/移动开发面试题更新 2026-08-05

当 Vue 项目被部署到服务器之后,访问时出现 404 错误,通常由哪些原因导致?请列举并简要说明排查思路。

前端/移动开发技术原理问题排查NginxVue

考察说明

考察对 Vue 单页应用部署细节及服务器配置的理解,以及对路由模式和服务器回退机制的掌握。

回答思路

  1. 【回答框架 1】Vue 项目默认是单页应用,路由由前端控制。部署后出现 404,最常见原因是服务器未配置回退到 index.html。开发时使用 history 模式的路由,路径请求需要由服务器将所有未匹配的请求返回 index.html。
  2. 【回答框架 2】对于 Nginx,需要配置 try_files $uri $uri/ /index.html;,对于 Apache,需要配置 FallbackResource /index.html;而如果是 hash 模式,则不会出现此问题,因为 hash 会在客户端处理。
  3. 【回答框架 3】如果部署在子路径下,需要在 Vue 的配置中设置 publicPath 或 base 属性,同时服务器配置也要匹配该子路径,否则资源引用的路径错误可能导致 404。
  4. 【回答框架 4】还可以检查服务器上文件路径是否正确,是否存在权限问题,以及路由文件的配置是否正确。
  5. 【回答框架 5】排查顺序:先用浏览器开发者工具查看请求的状态,确认是页面请求还是静态资源请求的 404;如果是页面刷新 404,则是服务器回退问题;如果是静态资源 404,则大概率是路径配置问题。
  6. 【关键点 1】history 模式必须配置服务器回退到 index.html。
  7. 【关键点 2】hash 模式不存在刷新 404 问题。
  8. 【关键点 3】子路径部署需同步配置 publicPath 和服务器路径。
  9. 【关键点 4】排查时区分页面 404 与资源 404,二者原因不同。
  10. 【易错点 1】只配置了前端路由,未修改服务器配置,导致刷新或直接访问子路由 404。
  11. 【易错点 2】子路径部署时,只改服务器或只改前端配置,导致资源路径错误。