vue-router路由模式 分析他们的区别

101 阅读1分钟

history模式

1.history 模式就是我们传统的路径 url的路径就是服务端根目录下的相对路径,是真实路径如果我们需要访问test文件夹 则就需要在根目录下有test文件夹, 2.但是如果我们没有这个文件,而是用vue这种router的方式 那么就必须用nginx代理,否则找不到这个文件就是返回404。这样就需要在nginx中配置每一个route,漏下一个就会404 所以history模式下的路由分发是服务端(nginx)来做的

hash 模式

  1. url路径会出现 #字符 符号后面的是路径。
  2. hash值不包括在http 请求中,它是前端路由处理,所以改变hash值 不会刷新页面,也不会向服务器发送请求

3.hash值的改变会触发 hashchenge事件

4.为了解决上面的问题,hash模式出现了。在hash模式的url中“#“符号后面的路径并不是真实路径,而是以类似参数的形式传给默认文件。 默认文件就是index,在这里通过“#“符号后面的路径去匹配路由处理,所以只要有index这一个文件是真实路径就可以。 这样就不需要在nginx一个个配置了。 这样hash模式下的路由分发就不需要服务端来做了,直接在前端就处理了