什么是Node.js
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。它让 JavaScript 可以脱离浏览器运行,用于开发服务器端应用程序。
Node.js 的特点:
- 事件驱动、非阻塞 I/O 模型,适合处理高并发场景
- 使用 JavaScript 语言,前后端可以使用同一种语言
- 拥有丰富的第三方包生态系统(npm)
安装Node.js
方式一:使用 Homebrew 安装(推荐用于快速开始)
1
2
3
4
5
brew install node
# 验证是否安装成功
node --version
npm --version
方式二:使用 nvm 安装(推荐用于开发环境)
nvm 可以让你在同一台机器上安装和切换多个 Node.js 版本,这在实际开发中非常有用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装 nvm
brew install nvm
# 配置 nvm(添加到 ~/.zshrc 或 ~/.bash_profile)
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
# 重新加载配置
source ~/.zshrc
# 使用 nvm 安装 Node.js
nvm install node # 安装最新版本
nvm install 18 # 安装指定版本
nvm install --lts # 安装最新的 LTS 版本
npm
npm(Node Package Manager)是 Node.js 的包管理工具,默认随 Node.js 一起安装。
npm 用于管理项目依赖的第三方包,类似于 Python 的 pip。
npm 常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 初始化项目(创建 package.json)
npm init
npm init -y # 使用默认配置快速初始化
# 安装依赖包
npm install express # 安装并添加到 dependencies
npm install --save-dev jest # 安装并添加到 devDependencies
npm install -g nodemon # 全局安装
# 安装项目所有依赖
npm install
# 更新依赖包
npm update
# 卸载依赖包
npm uninstall express
# 查看已安装的包
npm list
npm list -g --depth=0 # 查看全局安装的包
# 运行脚本
npm run dev
npm start
npm test
package.json
package.json 是 Node.js 项目的配置文件,记录了项目的元信息和依赖包。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"name": "my-project",
"version": "1.0.0",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.0"
},
"devDependencies": {
"jest": "^29.0.0"
}
}
nvm
nvm(Node Version Manager)是 Node.js 的版本管理工具,可以在同一台机器上安装和切换多个 Node.js 版本。
为什么需要 nvm
- 不同项目可能需要不同版本的 Node.js
- 可以快速测试代码在不同 Node.js 版本下的兼容性
- 方便升级或降级 Node.js 版本
nvm 常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看可安装的 Node.js 版本
nvm ls-remote
# 安装指定版本
nvm install 18.0.0
nvm install 20
nvm install --lts
# 查看已安装的版本
nvm ls
# 切换版本
nvm use 18
nvm use 20
# 设置默认版本
nvm alias default 18
# 查看当前使用的版本
nvm current
# 卸载指定版本
nvm uninstall 16
项目级别的版本管理
可以在项目根目录创建 .nvmrc 文件,指定项目使用的 Node.js 版本:
1
2
3
4
5
# 创建 .nvmrc 文件
echo "18" > .nvmrc
# 进入项目目录后,使用指定版本
nvm use
其他包管理工具
yarn
yarn 是 Facebook 开发的包管理工具,比 npm 更快、更安全。
1
2
3
4
5
6
7
8
# 安装 yarn
npm install -g yarn
# 使用 yarn
yarn init
yarn add express
yarn install
yarn remove express
pnpm
pnpm 是一个快速、节省磁盘空间的包管理工具。
1
2
3
4
5
6
7
8
# 安装 pnpm
npm install -g pnpm
# 使用 pnpm
pnpm init
pnpm add express
pnpm install
pnpm remove express
node_modules
node_modules 目录存放项目安装的所有依赖包。
注意事项
node_modules目录不要提交到 git,应该添加到.gitignore- 依赖信息记录在
package.json和package-lock.json中 - 其他人克隆项目后,运行
npm install即可安装所有依赖 node_modules目录可能会很大,删除后可以通过npm install重新生成
更新 Node.js
使用 Homebrew 更新
1
brew upgrade node
使用 nvm 更新
1
2
3
4
5
6
7
8
# 安装新版本
nvm install node
# 切换到新版本
nvm use node
# 设置为默认版本
nvm alias default node