vue路由配置核心是路由表定义与history/hash模式选择:路由表通过routes数组定义path、component等规则;hash模式兼容性好但影响seo,history模式url美观需后端配合重定向。

Vue 路由配置的核心在于路由表定义 + 模式选择。路由表决定“能访问哪些路径”,而 history 或 hash 模式决定“URL 怎么写、怎么跳、后端要不要配合”。选对模式,才能避免刷新 404、SEO 失效或兼容性问题。
路由表结构:routes 数组是核心
路由表是一个对象数组,每个对象描述一条路由规则,关键字段包括:
-
path:匹配的 URL 路径(如
/user/:id,支持动态参数和通配符*) - component:对应的组件(可直接引入,也支持异步 import() 懒加载)
-
name(可选):命名路由,便于编程导航(
router.push({ name: 'User', params: { id: 123 } })) -
children(可选):嵌套路由,需配合
<router-view></router-view>在父组件中渲染子视图 - meta(可选):自定义元信息,常用于权限控制、页面标题、是否需要登录等逻辑判断
Hash 模式:开箱即用,兼容优先
默认模式,URL 带 #,例如 https://site.com/#/user/1001。它的本质是利用浏览器哈希值不触发请求的特性:
- 改变
window.location.hash不会向服务器发请求,也不刷新页面 - 监听
hashchange事件即可捕获导航动作 - 部署零配置:静态资源扔到任意服务器(Nginx、Apache、甚至 GitHub Pages)都能跑
- 兼容 IE8+,适合老系统或内网环境
- 缺点明显:URL 不够专业,搜索引擎通常不索引
#后内容,影响 SEO
History 模式:URL 干净,但需后端兜底
启用后 URL 看起来像传统网站:https://site.com/user/1001。它依赖 HTML5 History API(pushState/replaceState)实现无刷新跳转:
- 前端可自由修改 URL,不触发页面重载
- 但用户直接访问或刷新该 URL 时,浏览器会真实发起 HTTP 请求(如 GET /user/1001)
- 如果后端没配置,就会返回 404 —— 所以必须让服务器将所有前端路由请求都指向
index.html - Nginx 示例配置:
location / { try_files $uri $uri/ /index.html; } - 优势是 URL 美观、利于 SEO、支持更丰富的导航状态(state 参数),但要求 IE10+,且部署环节多一步
其他模式与注意事项
除了主流两种,还有 abstract 模式,专为非浏览器环境(如 Node.js 服务端渲染)设计,路由完全在内存中运行,不操作 URL。日常开发几乎不用手动指定。
Vue 3 中配置方式已统一为函数式:createWebHashHistory() 或 createWebHistory(),不再使用字符串 mode: 'history'。历史模式下若漏配服务端重定向,本地开发(Vite 的 dev server)通常自动处理,但上线后必须检查。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










