Skip to content

C23. NPM 包管理器

3.1. ⭐ 安装 Node.js

Node.js 是 JavaScript 的服务器运行环境,包含 NPM(Node 包管理器)。安装 Node.js 时会自动安装 NPM。

📦 安装步骤:

  1. 访问官网: 打开 https://nodejs.org → 根据系统选择 LTS 版本(长期支持版)→ 下载安装包。
  2. 安装向导: 双击 .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.jsondependenciesdevDependencies

示例

bash
npm install es-toolkit   # 安装到项目依赖
npm install -g serve     # 全局安装静态服务器

3.3. ⭐ 通过 create 命令创建本地项目

NPM 提供 npm init 命令快速创建项目结构,或使用模板工具(如 npx)。

🛠️ 创建步骤:

  1. 基础项目: 终端进入目标目录 → 输入 npm init → 按提示填写项目信息(名称、版本等)→ 自动生成 package.json

  2. 模板化创建(以 express 为例):

    bash
    npx 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 模块语法允许直接导入第三方库的函数或类。

🔌 导入示例:

  1. 安装依赖
    bash
    npm install es-toolkit
  2. 代码中导入
    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-toolkitEs-Toolkit 效果不同)。

知识回顾

  1. Node.js 安装: 通过官网下载安装包 → 勾选「Add to PATH」→ 验证版本号。
  2. NPM 安装模式
    • npm install:项目内依赖 → 记录到 dependencies
    • npm install -g:全局工具 → 可在任意目录调用。
  3. 项目创建与配置
    • npm init 生成基础项目结构。
    • package.json 记录依赖、脚本和元数据。
  4. 依赖管理
    • node_modules 自动管理,通过 npm install 恢复。
    • 使用 import 语法导入 ES 模块(需配置 "type": "module")。

课后练习

  1. (单选)以下哪条命令用于全局安装 serve 工具?

    • A. npm install serve
    • B. npm install -g serve
    • C. npm create serve
    • D. npm start serve
  2. (填空)在 package.json 中,记录开发依赖的字段名是 ______

  3. (操作题)尝试完成以下步骤:

    1. 创建新文件夹 my-tool → 进入目录 → 运行 npm init -y(快速初始化)。
    2. 安装 es-toolkit 为生产依赖。
    3. index.js 中导入并使用 Logger 类输出日志。
  4. (思考题)为什么 node_modules 目录不应被版本控制?请用 1 句话解释。

  5. (实践题)编写一个使用 es-toolkit 的 JavaScript 程序,实现以下功能:

    • 导入 es-toolkitValidator 模块。
    • 验证用户输入的邮箱格式是否合法。
    • 将代码保存为 validator.js 并运行测试。

Built by Vitepress | Apache 2.0 Licensed