Node成为近两年前端知识栈的必备技能之一。直接点招聘网站找工作,几乎都会问Node,更别提一些高级职位了。可能你已经看过Node是什么,读过Node的文档,用Node写过一些小项目。但是你知道Node在一线互联网公司中到底是怎么用的吗?它是干什么用的?怎么做?我相信80%的人都不知道答案,甚至一些用Node.js写过博客的人也不知道。小站的前端程序员可能都是复制粘贴。这也是大家比较容易学习的问题:这个框架(技术)的API我都学会了,但是不知道如何在项目中灵活运用。接下来本文就给大家介绍一下:作为中间层,我们通常指的是前端和后端。前端负责用户界面,后端负责提供数据和业务接口。现在我们在两者之间添加一个层。前端不直接请求后端业务接口,而是向中间层请求。然后中间层请求业务接口,看示意图:整个过程可以描述为:客户端直接请求中间层的Node服务,Node服务解析请求,看需要哪个页面,然后请求相应的数据,拿到数据后与模板结合形成用户看到的页面,然后交给客户端。那么可能有人会想,这种模式不是比较麻烦吗?事实上,它不是。来看看中间层的优势:1.减少客户端内存,提升项目用户体验。与mvvm模式下的项目不同,页面渲染和数据请求在客户端没有压力,而是在服务端完成。2、良好的SEO,不像js生成的mvvm模式页面,而是在服务器端渲染html字符,有利于网页被搜索。3、保持前后端分离的优势和目的,即解放后端,后端可以继续以接口的形式编写业务代码。4、前端可控范围增加,甚至可以在服务器和数据库层面进行优化。比如中间层经常使用nginx和redis来优化项目,处理高并发。中间层模型是对开发模型的改进。为什么我从来没有听说过这么好的模型?因为这种模式成本太高,如果没有一定规模的项目,就没有必要采用。目前很多一线厂商已经在使用了,比如淘宝、Facebook(中间层用php写的)。互联网的潮流往往被一线互联网公司所普及。一线互联网公司开始大规模采用,逐渐普及到普通公司。所以,这也是我们以后稳定工作的必备技能。但是目前中层的资料非常少,可以说是很难学。制作项目构建工具这里说的项目构建工具,相信大家都用过,比如现在市面上最常用的webpack就是其中之一。那么在大家认为这些工具神奇、好用、方便的同时,你有没有想过这些工具是用什么语言编写的呢?其实并不难,这些工具都是用Node编写的。很多企业都会开发自己的项目构建工具,帮助企业把项目做的更规范、更方便。一个好的项目构建工具,将大大加快整个公司的项目开发效率。这类项目构建工具一般需要大量的文件操作,而Node对I/O流的操作在目前主流后端语言中名列前茅。所以越来越多的公司选择使用Node作为项目构建工具。做一些小网站后台,用Node做后台,可能是大部分人认为的Node的作用。事实上,在真正的企业中,很少有人要求你使用Node作为后端。所以一般来说就是一些小型或者个人网站的后端。Node学习路线那么我们如何学习Node呢?这里推荐一条Node学习路线:1.学习基本的server,http协议知识2.学习NodeAPI3.尝试用Node做具体的功能4.学习express,koa,egg等Framework5.学习怎么做上面提到的三个实际应用。整个学习路线看起来并不复杂,但是1、2、3这三个基础知识点学起来也是非常费时间的。尤其是下面三个实际应用,对于想学的你来说更是难上加难,因为资料太少了。而且,这种实战的东西,没有人随身携带,真的很难掌握。
