亮神知识库 亮神知识库
首页
  • 手写代码

    • 手写代码系列
  • 基础知识

    • 基础
    • JS底层
    • CSS
  • 原理
  • 浏览器
  • HTTP
  • 网络安全
  • babel
  • webpack基础
  • webpack进阶
  • Vite
  • TypeScript
  • Vue2
  • Vue3
  • Node基础

    • glob
    • 模块化机制
    • 事件循环
    • KOA2框架原理
    • Node子进程
    • cluster原理(了解)
  • 教育行业2021

    • B端
    • C端
    • 工具
  • 游戏行业2025
  • 刷题
  • 杂(待整理)
  • 学习
  • 面试
  • 实用技巧
  • 心情杂货
  • 年度总结
  • 友情链接
关于
  • 分类
  • 标签
  • 归档
  • 收藏
GitHub (opens new window)

亮神

前程明亮,未来可期
首页
  • 手写代码

    • 手写代码系列
  • 基础知识

    • 基础
    • JS底层
    • CSS
  • 原理
  • 浏览器
  • HTTP
  • 网络安全
  • babel
  • webpack基础
  • webpack进阶
  • Vite
  • TypeScript
  • Vue2
  • Vue3
  • Node基础

    • glob
    • 模块化机制
    • 事件循环
    • KOA2框架原理
    • Node子进程
    • cluster原理(了解)
  • 教育行业2021

    • B端
    • C端
    • 工具
  • 游戏行业2025
  • 刷题
  • 杂(待整理)
  • 学习
  • 面试
  • 实用技巧
  • 心情杂货
  • 年度总结
  • 友情链接
关于
  • 分类
  • 标签
  • 归档
  • 收藏
GitHub (opens new window)
  • Vue2

    • 响应式

    • 模版编译

    • 虚拟DOM

    • 整体流程

    • vuex&vue-router

      • Vuex
      • vue-router
  • Vue3

  • Vue原理
  • Vue2
  • vuex&vue-router
0zcl
2021-10-18

vue-router

路由有几种模式?说说它们的区别?

  1. hash: hash(跟在#符号后面的URL部分,包括#符号)的改变会触发hashchange (opens new window)事件,通过监听hashchange事件来实现页面更新。hash值变化不会让浏览器向服务器请求。
// 监听hash变化,点击浏览器的前进后退会触发
window.addEventListener('hashchange', function() {
  console.log('The hash has changed!')
}, false)
1
2
3
4
  1. history: History API (opens new window)提供了pushState和replaceState两个方法, 分别可以添加和修改历史记录条目。这两个方法可以改变url,但不会请求资源
  • 调用history.pushState()或者history.replaceState()不会触发window.onpopstate (opens new window)事件. popstate事件只会在浏览器某些行为下触发, 比如点击后退、前进按钮(或者在JavaScript中调用history.back()、history.forward()、history.go()方法)此外,a 标签的锚点也会触发该事。通过监听popstate事件来实现页面更新。
  • 初次访问或者刷新都会向服务器请求,如果没有请求到对应的资源就会返回404,所以路由地址匹配不到任何静态资源,则应该返回同一个index.html 页面,需要在nginx中配置。
// nginx
location / {
  try_files $uri $uri/ /index.html;
}
1
2
3
4
  1. abstract: 非浏览器环境下. 如 Node.js 服务器端

Vue Router history模式的配置方法及其原理 (opens new window)

编辑 (opens new window)
上次更新: 2025/07/17, 07:17:44
Vuex
开始

← Vuex 开始→

最近更新
01
2024年
07-20
02
2023年
07-20
03
2022年
07-20
更多文章>
Theme by Vdoing | Copyright © 2025-2025 亮神 | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式