一种使用后端路由+前端库的应用开发方式(一)

85 阅读2分钟

自前后端分离之后,前端路由一直是构建应用的主流,新生代的前端开发者或许会认为这不是天经地义的吗?事实上在前端路由流行之前,后端路由是主流。

先来看看后端路由和前端路由的实现思路有什么不同:

  • 一个请求发送到服务器中,借助运行在服务器上的后端语言,将路由解析处理数据之后,返回text/html,浏览器根据css和js渲染界面
  • 一个请求发送到服务器中,服务端总是返回index.html,浏览器执行js,js拿到路由信息,决定渲染什么界面

可以看到最主要的区别是:路由->数据映射是后端语言处理还是前端js处理,导致如下差别:

  • 一次http请求,前端路由不会返回dom,这导致了前端路由最大的问题:SEO不友好
  • 一次http请求,后端处理时间相对久,这导致了后端路由最大的问题:页面刷新闪一下

如果你的应用刚好不需要seo,那前端路由没什么问题,而如果你的后端优化的足够快,后端路由也没什么问题

但我选择后端路由,因为没有好用的前端路由,重且丑陋,尤其是React-Router。更崩溃的是没得选,这已经是最好的了,互联网上的资料也清一色react router。我不知道有没有和我有同样困惑的人,后端路由明明实现更简单更优雅,为什么没有任何资料?

那我来提供一篇资料,详细说明如何让react、vue只干视图的活,路由的活交给后端。

使用到的技术清单:

  • vue3
  • go1.21
  • vite5