C23. NPM 包管理器
3.1. ⭐ 安装 Node.js
Node.js 是 JavaScript 的服务器运行环境,包含 NPM(Node 包管理器)。安装 Node.js 时会自动安装 NPM。
📦 安装步骤:
- 访问官网: 打开
https://nodejs.org
→ 根据系统选择 LTS 版本(长期支持版)→ 下载安装包。 - 安装向导: 双击
.exe
(Windows)或解压(Linux/macOS)→ 勾选「Add to PATH」(Windows)→ 完成安装。
WARNING
- 安装时确保勾选「Add to PATH」,否则需手动配置环境变量。
- macOS 用户可通过 Homebrew 安装:
brew install node
。
bash
# 验证安装
node -v # 查看 Node.js 版本(如 v18.16.0)
npm -v # 查看 NPM 版本(如 9.6.7)
3.2. 🌟 通过 install 命令安装包
NPM 可管理项目依赖,支持全局和项目内安装。
📦 安装模式对比:
模式 | 命令示例 | 作用范围 | 用途场景 |
---|---|---|---|
项目内安装 | npm install <包名> | 当前项目目录 | 开发或生产依赖(如 express ) |
全局安装 | npm install -g <包名> | 系统环境变量 PATH | 命令行工具(如 create-react-app ) |
WARNING
- 全局安装需管理员权限(Windows 需以管理员身份运行终端)。
- 项目内安装会自动更新
package.json
的dependencies
或devDependencies
。
示例:
bash
npm install es-toolkit # 安装到项目依赖
npm install -g serve # 全局安装静态服务器
3.3. ⭐ 通过 create 命令创建本地项目
NPM 提供
npm init
命令快速创建项目结构,或使用模板工具(如npx
)。
🛠️ 创建步骤:
基础项目: 终端进入目标目录 → 输入
npm init
→ 按提示填写项目信息(名称、版本等)→ 自动生成package.json
。模板化创建(以
express
为例):bashnpx express-generator myapp # 生成 Express 框架项目 cd myapp && npm install # 进入目录并安装依赖
TIP
npx
可临时运行包内的可执行文件,无需全局安装。
3.4. 🌟 package.json 文件配置项目的基本信息
package.json
是项目的「说明书」,记录依赖、脚本和元数据。
📄 核心字段说明:
字段名 | 作用描述 | 示例值 |
---|---|---|
name | 项目名称(全局唯一) | "my-project" |
version | 版本号(遵循语义化版本) | "1.0.0" |
dependencies | 生产环境依赖 | "es-toolkit": "^2.0.0" |
devDependencies | 开发环境依赖(如测试工具) | "jest": "^29.0.0" |
scripts | 自定义命令(如启动、测试) | "start": "node index.js" |
示例文件:
json
{
"name": "my-tool",
"version": "1.0.0",
"dependencies": {
"es-toolkit": "^2.0.0"
},
"devDependencies": {
"eslint": "^8.0.0"
},
"scripts": {
"start": "node src/index.js"
}
}
3.5. ⭐ 项目依赖安装在 node_modules 目录下
node_modules
是 NPM 自动管理的依赖仓库,包含所有安装的包。
📂 目录结构特点:
- 自动生成:运行
npm install
后自动生成。 - 禁止手动修改:依赖版本由 NPM 管理,直接修改可能导致冲突。
- 忽略版本控制:在
.gitignore
中应排除node_modules
。
bash
# 通过 package.json 恢复依赖
npm install # 根据 package.json 安装所有依赖
3.6. 🌟 使用 import 语句导入外部库的命名空间(以 es-toolkit 为例)
ES 模块语法允许直接导入第三方库的函数或类。
🔌 导入示例:
- 安装依赖:bash
npm install es-toolkit
- 代码中导入:javascript
// index.js import { Logger } from 'es-toolkit'; // 导入 Logger 类 const logger = new Logger(); logger.info('Hello from es-toolkit!'); // 调用方法
WARNING
- 需在
package.json
中设置"type": "module"
启用 ES 模块:json{ "type": "module" }
- 路径区分大小写(如
es-toolkit
与Es-Toolkit
效果不同)。
知识回顾
- Node.js 安装: 通过官网下载安装包 → 勾选「Add to PATH」→ 验证版本号。
- NPM 安装模式:
npm install
:项目内依赖 → 记录到dependencies
。npm install -g
:全局工具 → 可在任意目录调用。
- 项目创建与配置:
npm init
生成基础项目结构。package.json
记录依赖、脚本和元数据。
- 依赖管理:
node_modules
自动管理,通过npm install
恢复。- 使用
import
语法导入 ES 模块(需配置"type": "module"
)。
课后练习
(单选)以下哪条命令用于全局安装
serve
工具?- A.
npm install serve
- B.
npm install -g serve
- C.
npm create serve
- D.
npm start serve
- A.
(填空)在
package.json
中,记录开发依赖的字段名是______
。(操作题)尝试完成以下步骤:
- 创建新文件夹
my-tool
→ 进入目录 → 运行npm init -y
(快速初始化)。 - 安装
es-toolkit
为生产依赖。 - 在
index.js
中导入并使用Logger
类输出日志。
- 创建新文件夹
(思考题)为什么
node_modules
目录不应被版本控制?请用 1 句话解释。(实践题)编写一个使用
es-toolkit
的 JavaScript 程序,实现以下功能:- 导入
es-toolkit
的Validator
模块。 - 验证用户输入的邮箱格式是否合法。
- 将代码保存为
validator.js
并运行测试。
- 导入