首先先说坏处:
1.前后端分离,你得部署2个服务了,在运营部署上相比以前麻烦点。
2.前后端分离单页应用对seo不好,但可以用vuejs的框架nuxt解决,不过nuxt本身也有很多规则需要注意。尤其是哪些是运行在服务端,哪些运行在客户端,哪些都有运行。
3.前后端分离,后端api的代码量会明显上升。
再说说好处:
1.谁也不想写个一大坨的单体应用,到后来升级不好升,改也不好改,前后端分离,后端就是api服务器,前端你想怎么换都行,你可以用任意前端框架(vue,react,nuxt,next等)做网站前台,你也可以用flutter等做手机app前端,而后端代码还是一套。甚至,你可以在游戏引擎里通过http和后台交互,把游戏引擎当作前端。
2.面向未来,容易拓展。
3.就是不想后端上还写屎一样的嵌套模板。
4.前端必须工程化,所以必须前后端分离。