要实现前后端分离,路由是必须要写的吗?

最近接触的是基于express的sails.js,这是一个使用nodejs的后台框架。在渲染前端页面的时候是通过后端路由来实现的,前端页面使用的模板为ejs。由于使用这种开发方式,导致前后端严重耦合,开发效率比较低。现在想做的就是实现前后端分离。首先,我对路由这个概念理解的不是很透彻,如果大神们能够概括一下就万分感谢了。

第一,后端写路由渲染前端页面我能够理解,很多的工作交给后端去完成。

第二,如果后端不写路由,路由交给前端,利用浏览器去完成路由的分配,以我现在的认识,可以使用angular,vue或者react这类的框架去写,这样写出来的属于SPA单页面应用,整个工程的所有页面都集中在一个网页中,不知道我的理解是不是正确的。这类的路由是不是就是所谓的前端路由?前端的路由只能在写单页面应用的时候使用吗?如果写的不是单页面应用呢,路由的存在还有必要吗?

第三,根据第二条提出的问题,我尝试着去掉了sails.js框架中的路由配置,这个框架有这个性质,当没有配置路由的时候,运行该程序,在浏览器内访问,会识别并加载静态资源文件夹内的index.html文件。同时在静态资源文件夹内创建了html文件夹,html文件夹内写上页面text.html,index.html和text.tml之间也能够在浏览器上正常进行跳转,这个时候路由还有作用吗?这种情况下,前端通过ajax的方式获取json数据,后端提供API,是不是就是所谓的前后端分离了。想了想这样的想法是不是太天真了。所以这里我总结了几个问题:

1.前端路由和后端路由在什么情况下使用呢?
2.前端路由指的就是单页面应用中的路由吗?
3.后端提供API,前端利用ajax获取数据,还需要路由吗?特别是在使用express和sails这类使用node的情况下,路由是必须的吗?

各位大神,看完这么多实在是辛苦了,本人是个前端新手,很多的东西理解的不是很透彻,希望各位理解理解,感谢各位!

查看回复