序:本篇内容主要侧重对前端路由的理解,以vue的官方路由作为载体,进行一个简单介绍。
一、路由历史:
最早开始的时候,项目开发使用的是SSR,即服务端渲染。这个时候刷新页面,服务器返回的是全部的html。这样有一个弊端,就是返回的数据量比较大,造成用户等待时间长,每次都要刷新全部的页面,用户体验不太好。后来有了ajax技术,这个时候就可以实现局部刷新页面了,也为前端路由的出现奠定了基础。所谓局部刷新,也就是根据页面跳转,请求该页面的数据,后台返回数据后,前端进行展示。即使数据返回前,页面也可以呈现 ,只是没有数据,不过总比空白的一张页面要好。有了ajax之后,也开始使用SPA模式来开发应用。所谓SPA,即单页面应用,这个时候就进入了组件化开发模式。随着Node.js的出现,前端开始进入模块化开发时代。
二、组件化开发
组件化开发中,一般一个组件对应一个页面。一个应用中至少有一个以上的页面,那么如何在这些页面中进行跳转呢?不同的页面对应不同的链接,或者说URL,这样就可以实现通过链接到不同URL,来实现跳转不同的页面。URL即是对具体业务页面的映射。这个时候,把这一整套页面跳转的机制称为路由。即,给浏览器不同的URL,浏览器给出这个URL映射到的页面。
三、实现方式:
在当前单页面应用中,路由的具体实现有两种方式。一个是History API,一个是“#”。History API需要后端进行配合,哈希则不需要。简单来说路由就是用来跟后端服务器进行交互的一种方式,通过不同的路径,来请求不同的资源,请求不同的页面是路由的其中一种功能。
参考:
https://segmentfault.com/a/1190000007238999