前端路由的两种模式

5 min read

前端路由的两种模式

Hash模式

就是在url路径上出现#这个符号的模式

# 有两种情况,一个是我们所谓的锚点,比如典型的回到顶部按钮原理、Github 上各个标题之间的跳转等,

路由里的 # 不叫锚点,我们称之为 hash,大型框架的路由系统大多都是哈希实现的。

Hash模式的原理

改变#后的内容不会触发网页重载,这也就是所谓的单页应用,页面上所有的操作交互都只发生在这个页面,页面不会发生重新刷新

改变#后面的内容就会为浏览器增加一个历史记录,这个历史记录是一个堆栈的形式,可以象普通页面一样前进和后退

History模式

History 模式使用 HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转。

区别

History模式使用的是html5新增的api,对于旧版本浏览器不支持,History模式对于路径的访问都会向静态服务器发送请求,如果没有配置相应的路径解析就会返回404, 因此需要在静态服务器端提前做好相应的配置