node,npm,nvm

134 阅读3分钟

node.js是什么

 Node.js 是一个开源、跨平台的 JavaScript 运行环境,可以用于开发服务器端和网络应用。   
 它的设计目标是提供一种简单的方式来构建可伸缩的网络程序,例如 web 服务器。   
 它是由 Ryan Dahl  2009 年开发的,现在由 Node.js Foundation 维护。

node.js的主要特点

  1. 异步 I/O:Node.js 采用事件驱动的模型,所有的 I/O 操作都是非阻塞的。这意味着服务器可以同时处理大量的请求,而不会因为 I/O 操作而阻塞。
  2. 单线程:Node.js 是单线程的,但是它可以利用其非阻塞 I/O 模型来处理大量并发请求,这使得 Node.js 在处理高并发、I/O 密集型的应用程序时非常高效。
  3. 使用 JavaScript:Node.js 使用 JavaScript 作为其主要的编程语言,这意味着开发者可以使用同一种语言来编写服务器端和客户端的代码。
  4. 内置 HTTP 服务器:Node.js 内置了一个 HTTP 服务器,这使得开发者可以很容易地构建一个 web 服务器。
  5. 丰富的生态系统:Node.js 的包管理器 npm 提供了大量的开源库,使得开发者可以很容易地重用别人的代码,也可以分享自己的代码。

node.js安装

1.去官网下载对应安装包即可下载 | Node.js 中文网 (nodejs.cn)

2.依照教程进行安装之后在后台运行命令查看版本

node -v

npm是 Node.js 的核心组成部分,node package manage(node包管理器)

npm -v

image.png

通过nvm安装node.js

1.首先需要安装nvm,(安装过程中需要选择nvm的安装路径以及node.js的安装路径)安装完成之后,尝试以下命令

---查看版本号
nvm version

---查看已经安装的node版本
nvm list

---切换版本 
nvm use  14.21.3

---查看可安装版本
nvm list available

---下载某个版本
nvm install 20.8.1

node.js的核心模块npm到底有哪些作用

  1. 在线仓库:NPM 提供了一个在线仓库,开发者可以发布自己的 Node.js 模块到这个仓库,其他开发者可以从这个仓库下载和使用这些模块。
假设你写了一个my-module模块

---发布模块到在线仓库
npm publish

---下载模块
npm install my-module

  1. 命令行工具:NPM 提供了一个命令行工具,开发者可以使用这个工具来安装、更新、卸载和管理 Node.js 模块。
---安装
npm install

---更新
npm update

---卸载
npm uninstall

  1. 依赖管理:NPM 可以自动处理项目的依赖关系。当你在项目中安装一个模块时,NPM 会自动下载这个模块以及它所依赖的所有模块。
当你通过npm intasll 来安装某一个模块时,它会自动安装这个模块所依赖的其它模块
  1. 版本管理:NPM 支持语义化版本控制,这使得开发者可以指定项目依赖的模块的版本,或者自动更新到最新的兼容版本。
通过指定某个模块的版本,那么在该目录下运行npm install,那么就会自动下载对应版本,   
可以通过^,~来安装最新版本/兼容版本
  1. 脚本运行:NPM 还可以用于运行定义在项目的 package.json 文件中的脚本,这使得开发者可以用一种统一的方式来运行各种任务,如测试、构建、部署等
---scripts便是脚本,通过npm run start即可执行node index.js
{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "start": "node index.js",
    "test": "mocha tests/*.test.js"
  },
  "dependencies": {
    "express": "^4.17.1"
  }
}

^表示主版本号的上限,^4.17.1表示只能更新5.0.0以下的(大于4.17.1)
~表示次版本号上限,~4.17.1表示只能更新到4.17.x的最新版本,小于4.18.x