一直都有听过node做中间层,我也知道node可以请求java/php的接口,但是为什么不直接用ajax呢?难道是为了用模板引擎?node做中间层的作用是什么?
一直都有听过node做中间层,我也知道node可以请求java/php的接口,但是为什么不直接用ajax呢?难道是为了用模板引擎?node做中间层的作用是什么?
8 回答4.7k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
我贴出这样一张图吧、现在有不少公司是这种模式
从底色可以看出node+UI布局都属于前端范畴、这就好理解了
提出一个场景:
后端给前端提供了接口文档、前端告诉后端、某某数据不想用对象、换成用数组吧
这种时候有两种结果、后端修改了接口、或者后端不同意、让前端自己改数据结构
那么引出我下面的回答
其实提出前后端分离、是为了更好的解决项目的耦合度、不在互相等待、不再互相依赖
如果加入node这一层其实是为了更好的解耦
node这一层通常是由前端来做、node调用java提供的接口、将数据再封装、拓展、形成自己要的结构render到客户端
很多时候会看到html下面做运算、做分组、其实就是这个问题:后端给的数据结构并不是前端想要的 或者 一些逻辑实在是太简单了、想给前端人员来做
那浏览器上做运算、做分组、以及一系列操作是一定会影响性能的、尤其数据量很大的情况
那node中间层其实就相当于把很多这样的代码放入其中、也可以替后端分担一些简单的逻辑、又可以用模板引擎自己掌握前台、
换言之、如果用node+模板引擎直接做、那前后端相当于没有分离、也是互相依赖、等待、node的后端效果也不是很好
如果用java+jsp、那也是没有分离、互相依赖互相等待、前后端要在沟通上花很多时间
总而言之、前后台的分离更加明确、前台不在过度依赖后台、后端不再过度等待结合前端、方便解耦、降低沟通成本
还有就是前后台完全可以分开发布