关于前后端分离

前言

前一段时间学着用vue写好了一个项目框架,用来改变曾经老项目的整体框架。因为之前的项目框架过于繁重,在那个基础上再增加新的内容只会让项目越来越重。

起因

不过在写完框架的起初还算欢喜,也是经历了一些坎坷修改,最终也算是完成的可以。不过在写代码期间,因为需要将项目放到tomcat上面运行,每次编写一些新内容或者修改问题的时候就需要打包再扔到tomcat下面去运行,过程比较繁琐。而且感觉还是没有做到和后端分离,毕竟在最初的项目中,有些前端的跳转时需要通过后端来进行操作判断的,有一种藕断丝连的感觉。调试的时候也是前前后后的来回测试,有些明明是前端控制的,到最后却需要后端来改一些东西去支持才可以。

问题

  • 渲染和取值都是在客户端进行的,有一些性能上的问题
  • 逻辑没有办法重用,有一些校验需要前端做完,后端再来一次
  • 而针对路由来讲,前端的路由后端并不存在

关于分离

或许做到前后端真正的分离,才可以更好的完成一个项目。我们可以通过nodejs,从传统认知的前后端向重新定义的前后端进行转变。在服务器与浏览器中间添加一个中间层——nodejs。
关于前后端分离关于前后端分离
在重新定义前后端分离之后,他们的职责划分将变为
关于前后端分离
有了这样的结构划分,相信之后的项目会更加健壮,这应该也是一个前端工程师学习的方向。

引进nodeJS的变化

  • 在发起多个异步请求的页面中,nodejs可以和并请求降低负担,也不会影响体验,将请求从串行变为并行,大幅缩短请求时间
  • nodejs可也一合理的分配多台服务器从而带来最大的产出
  • 前后端将可以共享路由及模板,不论是前端跳转还是输入网址跳转,都可以将页面完美渲染

总结

在引入nodejs的前后端分离中,所带来的变化一定会比想到的多,所以努力学习吧。一定会将这个问题拿下的。加了个油~

【注:本文中一些内容引用于】

https://2014.jsconfchina.com/slides/herman-taobaoweb/index.html#/