要理解这两个问题,node(加个js的话排版会有问题,所以以下简称node)是关键。那什么是node,node可以是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。在2009年发布时引起了极大的轰动。
对前端来说,node可以做两件事,一是可以用来做前端的后端,二是仅仅作为中间件。前端是题目中所说的前端的全栈模式,后者仅仅是一个中间件,后端仍由传统的Java等后端语言实现。下面说一说这两种模式。
01前端的全栈模式——node作为服务器先来看一个前端全栈模式的layout:
为了不让图片过大,偶删除了一些约定俗成或者与node无关的东西,从这个layout里面大家可以看到后端的一些明显特征,如定义错误码、权限过滤、业务接口、mysql客户端、日志处理等。总结来说,前端的全栈模式是把前端与后端放在一个工程里面,使用node提供server服务,处理业务逻辑和操作数据库,这是前端全栈模式与单独的前端开发最大区别之所在。
02 仅前端开发——node作为中间件仍然还是放一张图:
上图中的这种模式是很多公司和团队用的模式,图中用两种颜色区分了前后端,上面是前端,下面是后端。
为什么这么做?因为很多时候后端提供的数据结构并不符合前端的要求,或者是一些简单的逻辑没必要抑或懒得在后端做(是的,有这种情况),那前端就要对数据做分组、运算、转换等操作,但这些处理操作如果由浏览器来完成的话对性能肯定是有影响的,特别是需要处理的数据很多的时候。而node做中间层引入前端项目正好可以解决这个问题,让用户的请求首先经过node端,然后node再向后端的Java等服务器请求数据,待数据返回后渲染HTML模板呈现给用户。
总结来说,使用node作为中间层之后,Java后端处理业务逻辑并提供API接口(如常用的Restfull API),不仅前后端得到了很好的分离,还解决了异步渲染中的种种问题。
以上就是偶的一些拙见,欢迎大家在评论区评论交流。
怎么做企业邮箱,cf怎么删除游戏圈,怎么把手机qq图标换掉