现在,nodejs主要是前端的小伙伴来用的。前端小伙伴也不用说去怎么学node,而是把node当做是一个环境。我们利用这个环境去搭建上层的一些应用,去使用一些工具。就像学习Windows一样,我们没有必要深入了解Windows的每一个细节,只要能够使用Windows这个平台去工作就足够了。Node其实也是这样的道理,前端小伙伴用node这个环境去打包、编译,甚至当做服务器来运行工具和开发环境,这是node的主要作用。因此,对于前端小伙伴来说,node就是一个强大的环境。
Node为什么能火起来呢? 一方面是因为前端的发展,另一方面是node在处理高并发方面有着天然的优势。它的机制是单线程事件循环和事件驱动,这种机制使得它能够高效地处理高并发的请求。这正是node作者创造node的初衷,他就是想打造一个能够处理高并发的外部服务器。现在很多大公司都在使用node,那它们主要在做什么呢?用来做服务器渲染。
为什么要服务器渲染呢? 在前后端分离的项目中,前端负责前端的事情,后端负责后端的事情。前后端通过AJAX进行数据交互,导致所有页面的数据都是异步获取的。这种方式虽然提高了开发效率,但却不利于搜索引擎优化,还可能导致加载问题。那么如何解决这些问题呢?答案就是服务器渲染(SSR)。为了实现SSR,我们需要一个假的后台来提供SSR服务,并与真正的后台(如Java后台)进行数据交互。然后,这个后台会渲染页面,实现服务器渲染。那么,这个后台用什么来做呢?最常用的就是node。
Node非常适合做这种事情,很多大公司也都在使用。虽然node现在被安装在了服务器端,并被各大公司广泛应用,但它仍然主要是为前端提供服务器渲染服务的,而不是用来开发真正的后端。因此,我认为node在后端开发方面并没有太大的优势,它更像是前端小伙伴的玩具。当然,如果你对后端有一定的兴趣,用node来玩玩也是可以的,但没有必要专门去学node来开发后端,因为学习Java或其他后端语言可能会更有价值。
最后,我们来说说如何学习node。在学习前端开发的时候,我们通常会先学习HTML、CSS和JS。然后,在深入学习Vue或React等前端框架之前,我们可以先了解一下node的基本使用方法,比如如何安装node、如何使用NPM的常用命令、如何管理项目依赖等。了解这些之后,我们就可以继续深入学习前端框架了。当框架使用熟练之后,我们可以尝试用node搭建一个web服务器,并在学习Ajax时,用node和前端框架实现前后台数据的交互。这样,我们就不需要依赖别人来写后台接口了,自己一个人就能完成整个项目的开发。对于希望做前端开发的小伙伴来说,这无疑是一个非常有用的技能。
总结一下,如果你真的想开发后台,我建议学习Java或其他后端语言。但如果你对前端感兴趣,并且对后台也有一定的兴趣的话,那么完全可以用node来完成后端部分的开发任务。这就是node的学习方法和使用方法。