唯品秀前端博客
当前位置: 前端开发 > 百宝工具箱 > 浅谈Node.js做中间层看法(又一篇水文)

浅谈Node.js做中间层看法(又一篇水文)

2019-07-17 分类:百宝工具箱 作者:管理员 阅读(6829)

不讨论代码,只谈概念理解,很多人都听说过node做前后端分离开发中间层中间件啥的,但绝大多数人似乎又不太清楚是个什么东西?想学习一个东西那必然先要了解这东西能干嘛,学完能达到什么目的。

为什么引入Node中间层?

现在说前后端分离应该算是老掉牙话题了,基本是个web开发的都知道,就是后端提供数据接口,前端调用,那么一对接,嗯哼,前后端分离开发成了,但你有没有想过,在这种前后端分离状态下,我们的数据具体是怎么流转的,甚至什么招聘面试谈到什么http多少次握手这类问题

从(1)用户在浏览器中输入网址-->到(2)完成一次完整的http请求-->到(3)浏览器加载html、css、js等资源-->再(4)发起Ajax请求数据;这个过程中,由于第(4)步依赖于第(3)步骤,需要等资源都到齐才能渲染,因此就会造成:

  • 布局渲染出来了,但是数据还没有渲染出来,需要显示loading、或者白屏
  • 无法做SEO,由于数据渲染是通过js写到dom内的
  • 有时候还会有接口跨域的问题
  • ......等
  • 因此,因此我们试着引入Node做中间层。

二:中间层做什么事?

其实,使用node作为中间层,就相当于前端和传统的java/php服务端增加了一个隔层,那么很明显,这么看是提高开发成本且对性能有削弱的感觉,毕竟多一次交互,但你看看中间层到底能做什么,以至于为什么我们需要去用它:

  • 接受客户端(浏览器)请求,向后端请求数据,接收后端返回的数据,返回给客户端
  • 合并接口请求
  • 拆分大接口
  • 页面渲染
  • 定义的路由
  • 做数据缓存
  • ...等

场景示例

那么说到这里,可能还是很多小伙伴有点模糊,感觉好像说了些啥,好像又什么都没说,那我再用实际项目白话文举例。

案例一

假如说老板说你这做的这个页面,打开速度挺慢的啊,能不能优化下啊,用户体验太差了。传统方式前端能做的无非就是打包压缩页面代码,压缩图片等,那么一旦使用中间层,可以在中间层再次做优化,合并接口请求,数据缓存等等,这样是不是感觉前端可控制范围手伸的就更长了?

案例二

在做前后端开发时候,我们是不是有些拿到客户端的数据格式并不是我们想要的,每次拿到数据后我们在前端代码里要大量处理,其实这个事情也完全可以搬移到中间层做处理,这就是前端请求接口转发,前端请求node中间层,node请求后端java/php,node中间层拿到数据一顿处理,然后再抛给前端,这样的话,前端页面逻辑是不是更干净了?前端只做数据渲染,不做过多的逻辑处理,这就是我们想做的。

案例三

再次说到跨域问题,传统前后端分离模式跨域问题是经常会遇到的,那么我们是不是都是需要借助什么代理?jsonp?又或者求着后端允许跨域?那么一旦你通过接口转发,跨不跨域你说的算,因为服务端之间是不存在跨域问题,当你的中间层node服务器拿到数据后,抛给前端,这时候数据已经完全你来控制

小结

你可以理解这是一篇水文,但我相信还是有小伙伴需要了解,知道这个概念大概是怎么回事。

「三年博客,如果觉得我的文章对您有用,请帮助本站成长」

赞(13) 打赏

谢谢你请我吃鸡腿*^_^*

支付宝
微信
13

谢谢你请我吃鸡腿*^_^*

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

4 条评论关于"浅谈Node.js做中间层看法(又一篇水文)"

  1. 轩陌 Mac OS X Chrome 75.0.3770.142

    妹,天天更

    1. 管理员 Windows NT Chrome 57.0.2987.98

      @轩陌傻屌,没看我最近很忙吗,更毛线

  2. vanhua Windows 7 Chrome 74.0.3729.169

    最近有点懈怠了,文也发得少了!

    1. 管理员 Mac OS X Chrome 75.0.3770.100

      @vanhua最近公司项目有点忙

博客简介

唯品秀博客: weipxiu.com,一个关注Web前端开发技术、关注用户体验、坚持更多原创实战教程的个人网站,愿景:成为宇宙中最具有代表性的前端博客,期待您的参与,主题源码 

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 259 篇
  • 草稿数目: 0 篇
  • 分类数目: 16 个
  • 独立页面: 6 个
  • 评论总数: 961 条
  • 链接总数: 16 个
  • 标签总数: 461 个
  • 注册用户: 8421 人
  • 访问总量: 9317526 次
  • 最近更新: 2020年8月7日
服务热线:
 173xxxx7240

 QQ在线交流

 旺旺在线