单页面应用路由的两种实现方式
什么是 SPA? SPA就是单页面应用,即single page application,通过看代码就可以发现,整个网站就只有一个Html文件。 github地址 WHY SPA? 减小服务器压力。 如果不用SPA,那么我们每次切换页面的时候,就会向服务器发送一个请求,服务器返回一个html文件;但是如果使用了SPA,在切换时,不需要请求服务器,只要通过本地的js来切换即可。并且服务器端就不需要配置路由,完全做到了前后端分离,这对于分工合作的意义可想而知。 增强用户体验,增加app的使用流畅性。 做过spa的同学都知道,使用spa之后,页面在切换的时候非常流畅,完全没有那种不断刷新的感觉,而是非常快的就有了响应,因为js运行速度很快,所以js在做本地路由的时候,就会非常快。 SPA路由的实现方式有哪些? 目前来说,无论是vue,还是react,spa的路由实现方式无非就是以下两者: hash方式。 使用location.hash和hashchange事件实现路由。 history api。使用html5的history api实现,主要就是popState事件等。 hash用的还是比较多的,但是这种方式的url会比较丑陋,会出现 #; 而history api就可以很好的解决这个问题,但是需要后端配置,并且由于是html5中的api,所以兼容性还不是很好