Node.js是一个JavaScript的运行环境,用来执行JavaScript代码。
为什么会出现这么一个运行环境呢,从JavaScript研发初衷可以看出它是为了运行在浏览器中的,让网页交互更加便捷。但是随着JavaScript影响力不断壮大,它的使用范围已经发生了变化。2009年,Node.js发布,初代版本支持基本的网络通信和文件系统操作,这让JavaScript可以到服务器上大展拳脚,标志着JavaScript可以用于服务器端编程。
Node.js中node是指一个节点,在这里我们可以用来形容一种环境,而后面.js则是代表这是针对JavaScript的,防止与其他的node项目混淆,但是随着Node.js知名度越来越高,现在几乎直接以node代指Node.js了。
Node.js的出现推动了JavaScript的全栈开发,允许开发者使用同一种语言编写前端和后端代码。
Node.js除了提供JavaScript运行环境外,还提供了丰富的模块库,可以直接在开发时引入,使得开发更加高效和便捷。
Node.js采用了事件驱动、非阻塞式I/O模型,这意味着它可以在单线程上处理大量并发连接。传统的服务端编程模型通常是多线程或多进程的,每个连接都需要一个独立的线程或进程来处理,这在处理大量并发连接时会造成很大的性能损耗。而Node.js通过事件循环和回调函数的方式,实现了非阻塞式I/O操作,使得单个线程可以处理更多的并发连接,从而提高了整体性能。
Node.js的安装与常用管理工具
本小节演示环境系统为ubuntu22.04,其他发行版Linux系统除命令有细微差别外,其余一致。
在开始操作之前,我们再简单了解几个与Node.js相关的概念,可以帮助我们更了解自己接下来的操作。
nvm:即Node Version Manager,根据名字很明显可以看出,这是用来安装和管理Node.js版本的。
npm:即Node Package Manager,我们之前提到过Node.js里面除了携带了V8引擎,还携带了很多模块库,npm则是负责管理这些功能模块库的,这些功能模块也就是我们所说的项目依赖。目前版本的npm会随着Node.js的安装一同被安装,所以非特殊情况不用单独安装。
1.使用nvm安装和管理Node.js
官网提供了如何使用nvm来安装Node.js,想深入了解可移步:https://nodejs.org/en/download/package-manager
下面将展示在ubuntu系统下进行安装的简单流程:
1.1 安装nvm
使用如下命令安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
如果你的网络无法拉取github的内容,可以使用如下方法通过gitee来安装nvm
#先安装git
sudo apt-get install git
#再安装nvm
curl -o- https://gitee.com/RubyMetric/nvm-cn/raw/main/install.sh | bash
安装完毕后,可以看到用户目录中多了.nvm文件夹
安装完毕后,可以重新打开终端或者运行以下命令来让nvm立即生效:
source ~/.nvm/nvm.sh
nvm生效后,可以使用nvm -v命令来检查nvm版本
1.2 安装Node.js
使用刚刚安装的nvm来安装Node.js,执行如下命令,可以安装最新的稳定版Node.js
nvm install node
若想安装非最新版,而想指定版本进行安装,使用如下命令,例如安装16.20.2版本的Node.js
nvm install 16
当然也可以安装其他更多的版本,这些版本都会受到nvm管理,并且可以通过nvm来对这些版本进行操作,例如使用如下命令查看当前安装的版本:
nvm list
通过下图可以看到我们已经安装了16和22版本的Node.js,下面是nvm工具中一些版本的别名,我们可以忽略。当前使用的版本是16.20.2版本。
如果想切换Node.js版本环境进行开发,使用如下命令:
nvm use 22
下图中可以看到已经切换为22版本了
1.3 创建一个简单的JavaScript程序
创建一个名为getUptime.js的JavaScript程序,简单写入一个功能,使用内置模块功能获取系统运行时间
const os = require('os') // 引入os模块
const uptime = os.uptime() // 获取系统运行时间
console.log(`system uptime: ${uptime} sec`)
保存后,使用如下命令执行该文件
node getUptime.js
得到如下输出内容
可以看到在这个简单的操作中,Node.js扮演了很重要的角色,它不止能运行JavaScript程序,也给JavaScript提供了丰富的模块库。除了内置模块外,Node.js还支持通过npm引入第三方模块生态系统,这些模块可以为JavaScript提供几乎无限的扩展能力。
文章转载来源:https://www.ebyte.com/news/3701.html