求教。用node.js分离中,node负责数据交互转发,路由分配还有什么吗?与用ajax有什么区别和优劣啊?
node是服务器端的JS 和ajax不可同日而语 node可以处理ajax get或者post提交到后端的所有事情
用ajax,不用node层也行啊,在后端也能处理啊。在分离上与node有什么优劣。我只知道用node对seo比较友好之外,不知道有其他哪些优势了。
node 和 seo没半毛钱关系。 我们目前的做法是,node提供路由和视图渲染,数据通过API请求php的接口。这样做的好处就是前端和后端的开发环境彻底分开了,不用再去跑后端的环境了,不用再在php文件里面填数据了,就这么简单
@hxh1246996371 就是在node层决定在浏览器还是node服务器渲染视图啊,如果在node层渲染的话,不是对seo友好吗。用ajax好像也能解决这个问题,不过有点麻烦吧。还有就是你们php和node是怎么交互的啊?也是http吗?
用node渲染非数据的视图,数据可以通过Ajax请求接口之渲染到视图上,其实还是对seo不友好,真正的友好也就是所谓的服务端渲染,意思是数据也是在服务端就渲染好了,而不用用过ajax再去请求,所以我说的这种方式是没有解决seo的。
当然 ,也可以在node服务端这一层做一个代理,这样的话就能实现真正的服务端渲染了。请求->node服务端->php服务端 ,阿里的前后端分离像就是采用的这种方式
php和node是没有直接交互的,不管后台是 php 、java还是ruby之类的,只需要提供标准的接口就行了,我们不需要关心后台语言是什么
@hxh1246996371 我就是在网上看的淘宝的那篇文章,现在的思路就是这样的。请求->node服务端->php服务端,前台http请求到node,node根据路由请求php的接口。数据也是这么一层一层回来的,数据在node层时再渲染成视图返回给前台。不知道我的思路对不对。
@hxh1246996371 服务器端为什么不用node js直接写 而是php接口
@AaronWB 你的思路就是用node做了一层代理,没问题,这样做的好处我上面说了,可以做到node的服务端渲染,这和直接用nodejs写后台的区别就在于,数据不是我们用node去从数据库里面获取的,我们也不需要管什么业务逻辑,而是直接获取接口返回的数据。
至于为什么不用nodejs直接写后台,这跟公司的技术结构有关系,并不是每个人都会写nodejs,公司的后端基本上都是写非node的,所以基本上都是前端的开发人员掌握了一定的node开发,他们还不能直接来开发后端。
再者,node在做后端这一块,对于复杂业务还不是很成熟吧(或许是开发人员的技术没达到)
@hxh1246996371 那么前端的工资加了么
@Alexis374 确实加了
@hxh1246996371 搞不明白把nodejs主要用来生成页面是什么策略?按你们现在的架构,用angular+php后台不是一样的效果?或者angular+nodejs后台不是更好?
@winglight angular+php : 不知道把angular拿这来说是什么意思。也就是传统的php后台开发,前面已经说的很清楚了,这样我们前端开发人员需要运行php环境,得看懂某些php标签,得去带有php标记的视图里面改。
之所以要用nodejs 就是把数据接口与视图路由独立开来,当然也可以选择其它的后台框架,但是nodejs相对来说是前端开发人员最熟悉的,也就成了不二选择了
angular+nodejs:我们的后台程序员不是学nodejs的
ajax是前端的,路由是后端的。
From KoaHub.js
@einsqing 现在就是路由node.js服务端来写,不过前端都懂js,学node应该是可以的。所以可以让前端来写路由了。