前端路由

简单的说,我们打开一个页面,这个页面是个单页应用:http://www.this-is-a-spa.com/
所以它仅仅只有一个页面,不过作者却做了好几个 URL:

http://www.this-is-a-spa.com/a
http://www.this-is-a-spa.com/b
http://www.this-is-a-spa.com/c
...

这些 URL 不会直接传给服务器,而是会被浏览器消化处理掉.

这样做,我们可以:

  • 当浏览器读取到其中一个注册到前端路由中的 URL 请求时,比如 http://www.this-is-a-spa.com/a 时,可以触发预先写好的事件 A,所以当访问到这个 URL 后就可以直接触发到事件。在编写的时候可以用 <a href="/a">Event A</a> 来触发事件,而可以不用 addEventListener("click", ...) 这种写法,当项目逻辑比较复杂的时候,这种组织方式比写一大堆事件注册要好很多.(当然上 SPA 一般都用到了框架,这种方式只是一种选择)

  • 用户可以收藏 http://www.this-is-a-spa.com/a 至收藏夹,打开后直接触发 /a 的事件(然后就自动加载数据或是什么别的事情),而没有做前端路由的 SPA 则达不到这样的效果,其 URL 从头到尾都是不变的.

所以~

  • 什么是前端路由:路由交给浏览器处理就算是吧?有没有教科书式的标准定义?

  • 什么时候适合用:SPA 就可以用,其实还是看产品需求.

  • 优点:如上;

原文地址:https://www.cnblogs.com/grapefruit/p/7232610.html