Appearance
48.Vue-Router 几种模式的区别?
Hash 模式:
- 工作原理:在 URL 中使用哈希(#)来管理路由。例如,#/home。哈希变化时,浏览器不会重新加载页面,而是根据哈希路径变化更新页面视图。
- 优点:兼容性很好,因为哈希变化不会导致浏览器向服务器发送请求,所以不会出现 404 错误。这使得在旧浏览器和不支持 HTML5 API 的环境中使用很方便。
- 缺点:URL 中有 # 符号,不够美观,不利于 SEO 优化,因为搜索引擎通常不会解析哈希部分的内容。哈希部分的内容也无法被服务器端获取。
History 模式:
- 工作原理:使用 HTML5 History API 来管理路由,URL 不再需要 # 号。例如,/home,根据路径变化更新页面视图。
- 优点:URL 更美观,不包含 # 符号,对 SEO 友好。
- 缺点:但是强制刷新时,浏览器会向服务器发送请求。需要服务器端的额外配置,以确保在任何路由请求下都返回应用的入口 HTML,否则会导致 404 错误。
memory 模式:
- 工作原理:适用于不支持浏览器 API 的环境,如服务器端渲染(Server-Side Rendering,SSR)。它不依赖于浏览器历史。
- 用途:通常在服务器端渲染或非浏览器环境中使用。