淘先锋技术网

首页 1 2 3 4 5 6 7


一、概述

      Node.js的官方开发语言是JavaScript。JavaScript是前端开发人员必备的技能,同时JavaScript也是可以直接在浏览器运行的脚本语言。
      随着Chrome V8(JavaScript的渲染引擎)的出现,JavaScript终于才咸鱼翻身,不再是人们印象中那个仅能做做前端展示的小脚本了。
      2009年,Ryan Dahl正式推出了基于JavaScript和Chrome V8引擎的开源Web服务器项目,取名为Node.js。在大型分布式系统中,“节点”即“node”是用于构建整个系统的独立单元,所以取名为Node.js ,期待用于构建大型应用系统。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻微和高效,非常适合构建运行在分布式设备的数据密集型实用应用。另外,Node.js应用了npm包管理工具,npm可以轻松管理项目依赖,从而使得开发人员分享开源技术变得so easy。

重大时间节点:
2009年03月      Ryan Dahl正式推出Node.js
2010年08月      Node.js 0.2.0发布
2011年05月      npm1.0发布
2012年06月      Node.js v0.8.0稳定版发布
2015年10月      Node.js 5.0.0 发布
2015年10月      Node.js 5.0.0 发布
2016年04月      Node.js 6.0.0 发布
2016年10月      Node.js 7.0.0 发布
2017年05月      Node.js 8.0.0 发布
2017年10月      Node.js 9.0.0 发布
2018年04月      Node.js 10.0.0 发布
2018年10月      Node.js 11.0.0 发布
2019年04月      Node.js 12.0.0 发布
2019年10月      Node.js 13.0.0 发布
2020年04月      Node.js 14.0.0 发布
2020年10月      Node.js 15.0.0 发布

二、Node.js的特点

1.异步I/O

     异步是指用户线程发起I/O请求后仍继续执行,当内核I/O操作完成后会通知用户线程,或者调用用户线程注册的回调函数。下图展示了异步I/O模型。
在这里插入图片描述

2.事件驱动

    在Node.js中使用的是单线程模型,对于所有的I/O都采用异步请求方式,避免了频繁的上下文切换。Node.js在执行的过程中会维护一个事件队列,程序在执行时进入事件循环,等待下一个事件的到来,每一个异步式I/O请求完成后会被推送到事件队列,等待程序进程进行处理。Node.js进程在同一时刻只会处理一件事情,完成后立即进入事件循环检查并处理后面的工作。原理如下:

在这里插入图片描述
    Node.js总共被分为了四层,分别是应用层、V8引擎层、Node API层和LIBUV层。这样分层的好处是CPU和内存在同一时间集中处理一件事,同时尽可能让耗时的I/O操作并行执行。

  • 应用层:JavaScript交互层,常见的就是Node.js的模块,如http、fs等。

  • V8引擎层:利用V8引擎来解析JavaScript语法,进而和下层API交互。

  • Node API层:为上层模块提供系统调用,一般由C语言来实现,和操作系统进行交互。

  • LIBUV层:跨平台的底层封装,实现了事件循环、文件操作等,是Node.js实现异步的核心。

3.单线程

    Node.js只用了一个主线程来接受请求,但是它接收到请求后并没有直接做处理,而是放到了时间低劣中,然后又去接受其他请求了,空间的时候,再通过事件循环来处理这些事情,从而实现了异步效果。Node.js内部是通过线程池来完成异步I/O操作,所以Node.js的单线程仅仅指JavaScript运行再单线程中,并不是Node.js平台是单线程。

4.支持微服务

    微服务架构风格就像是把小的服务开发成单一应用的形式,运行在其自己的进程中,并采用轻量级的机制进行通信。
    Node.js本身提供了跨平台的能力,可以运行在自己的进程中,并且易于构建Web服务,支持HTTP的通信,还支持从前端到后端再到数据库全栈开发能力。

三、Node.js下载与安装

    Node.js下载地址: https://nodejs.org/.

安装步骤

step1 双击 node-v14.15.4-x64.msi,开始安装
在这里插入图片描述


step2 选中复选框,点击“Next”
在这里插入图片描述


step3 默认路径无需改动,点击“Next”
在这里插入图片描述


step4 点击“Next”
在这里插入图片描述


step5 点击“Install”进行安装
在这里插入图片描述

验证安装是否正确

    打开cmd命令终端,运行“node -v”和“npm -v”命令,进行验证。
在这里插入图片描述