经常听别人说node作为中间件,这两个不都是后台吗?
node作为中间件起源于对前后端分离的一种方式,这里起到的作用是让前端能够控制Controller和view,如果node不作为中间件的话,那么就需要前端去学PHP,成本高,接入node的话对前端来讲就变得很自然了。
当然多了一层就代表带来一定的性能损耗,但是能够将职责更详细分开,还是可以的
更详细的去看看淘宝的前后端分离的一些文章吧
node做中间层,意思就是前端项目是一个独立的服务。路由控制,识图渲染全在这个服务下独立完成,不依赖其他服务。
既然是中间层,必然就有真正的后端服务,这个后端服务作为API服务,不管用什么语言实现都可以。
前端服务跟后端服务主要由ajax请求联系起来。视图中需要的数据通过ajax请求从后端服务获取,然后呈现。
不同语境下的“前端” “后端” 含义不一样而已。都是“服务端“也可以区分出前后端
参考 https://segmentfault.com/q/10...
顺便,“后台”一般应该说的是“管理后台”“运营后台”等,区别于“前台”:“主站”“用户主站”,是使用人群的区别,不是技术的区别
中间件,在语文修辞方法中有个词叫做承上启下
。
对应这里去理解。node承接的是前端,启下的是后台。弄懂这个先了解web
端的操作方式,用户点击一个地方,通过node
提交给后台(PHP
),然后通过数据库操作取得对应的数据取出来,再通过node
渲染给页面。就好像走了一个中间层,上面也有提到,为了达到前后端分离,让各个岗位的职责更明确。
就拿我自己写的小系统来说,就是我前端用html+nodejs+socket.io实现一个实时的聊天系统。然后nodejs用http请求来请求PHP接口保存用户发的东西。这样PHP接口完全独立。nodejs就是中间件咯(当然node也能直接操作数据库)。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
node.js 也可以写服务器