VUE能够利用理由进行单页面应用的开发我想是很多开发者选择它的一大原因。这都归功于vue-router的设计,让我们页面进行切换的时候能够变得非常漂亮,全程看上去就一个路径在变动。而我们传统的非单页面应用进行开发的时候,都是里面html之间进行跳转实现的.....(吐槽的话不多说,因为我们都是这么过来的,不能忘本哈)。
vue开发的单页应用在跳转的时候,会有一个#号,我们称这种模式为hash(哈希)模式。然而这样做,会影响路由的美观程度(官网上也有说),随意官网又推荐了history模式。使用起来很简单
const router = new VueRouter({
mode: 'history',
routes: [...]
})
在路由上面加了这个之后,你就发现,#符号不见了。
哈哈,这样页面就看起来顺心了很多。然而,别高兴的太早,这里有个问题。当我们把history模式的项目放到服务器的时候,你可能会发现满天只剩下404.。。。
因为很简单,当我们的项目处于history模式的时候,#号就不见了,我们的url在后台中相当于是一次次的请求,这请求可能是非常多种类的东西(接口、页面...)。所以,你需要和你的后台商量好,对这种情况作出对应的配置。OK,小坑说完了,简单记录一下,希望对你有帮助。
既然说到这里,我们不妨说下,为啥很多低版本的浏览器不方便使用框架这个东西。这里我就举个例子,vue的history模式是充分利用"H5"里面pushState的这个方法,对url进行切换而不发出请求。说到这你就明白了,低版本浏览器(ie7、8)怎么可能兼容H5,如果兼容的话就不叫低版本浏览器了。希望本文对你有帮助。
网友评论