Npm 使用指南

npm 使用笔记

一、npm 核心概念

1. 包管理结构

  • 项目目录 (Project Directory):包含 package.json 文件的文件夹。
  • node_modules 文件夹:存放项目依赖包的文件夹。
  • package.json 文件:记录项目的元数据、依赖包、脚本等信息。

2. 安装与管理依赖

  • 安装项目依赖npm install,安装 package.json 中列出的所有依赖。
  • 安装指定包npm install <包名>,安装一个或多个包,并将它们加入到 node_modules
  • 安装指定版本的包npm install <包名>@<版本号>,如 npm install react@17.0.0
  • 保存到依赖列表:使用 --save(默认)或 --save-dev 标志。
    • --save:将包作为生产依赖安装。
    • --save-dev:将包作为开发依赖安装。

3. 升级与卸载依赖

  • 升级所有依赖npm update,根据 package.json 更新所有依赖包。
  • 卸载依赖npm uninstall <包名>,卸载指定的依赖包。

二、常用命令行操作

1. 安装与启动项目

  • 初始化项目npm initnpm init -y(跳过交互式初始化,使用默认配置)。
  • 启动本地开发服务器npm start,通常会启动 package.json 中的 start 脚本。

2. npm 脚本

  • 运行脚本npm run <script-name>,例如运行 npm run buildnpm run test
  • 查看脚本列表npm run,列出所有可执行的脚本。

3. 安装开发依赖与生产依赖

  • 安装开发依赖npm install <包名> --save-dev,例如安装 webpack
  • 安装生产依赖npm install <包名> --save 或不带任何标志。

4. 缓存操作

  • 清除缓存npm cache clean --force,清除 npm 缓存。

三、npm 高级使用笔记

1. 版本管理

  • 安装最新版本npm install <包名>@latest,安装最新版本的包。
  • 查看当前安装包的版本npm list <包名>,查看已安装的包及其版本。
  • 查看全局安装的包npm list -g

2. 本地和全局安装

  • 全局安装npm install -g <包名>,全局安装工具包(例如 eslint, typescript)。
  • 卸载全局包npm uninstall -g <包名>

3. 版本回退与修复

  • 安装指定版本的包npm install <包名>@<版本号>,回退到指定版本的包。
  • 查看包的版本历史npm info <包名>,查看包的版本信息和历史。

4. package.json 配置

  • 指定依赖版本范围:在 package.json 中,依赖版本可以使用不同的符号:
    • ^:允许自动安装小版本更新(例如 ^1.2.3 可以安装 1.x.x 版本)。
    • ~:只允许安装修复版本更新(例如 ~1.2.3 可以安装 1.2.x 版本)。
    • *:允许安装任意版本。
    • >=:指定版本及其以上版本。
    • <=:指定版本及其以下版本。

5. 发布与管理 npm 包

  • 发布到 npm 仓库
    1. 使用 npm login 登录 npm 帐号。
    2. 使用 npm publish 发布包。
    3. 使用 npm version <new-version> 更新版本号。
    4. 使用 npm deprecate <包名>@<版本> 标记不再使用的版本。

6. npm 模块的依赖管理

  • 查看依赖树npm ls,查看项目中所有安装的依赖和子依赖。
  • 查看依赖的包信息npm info <包名>,查看包的详细信息(例如版本、作者、文档链接等)。

四、常用配置命令

1. 配置 npm 默认参数

  • 更改默认的 registrynpm config set registry <新地址>,更改默认的 npm registry。
  • 查看配置npm config list,列出当前的 npm 配置。
  • 更改默认的包缓存路径npm config set cache <路径>,指定缓存目录。

2. 配置项目脚本

  • 指定 npm start 脚本:在 package.json 文件的 scripts 部分,指定 start 脚本。
{
  "scripts": {
    "start": "node app.js",
    "build": "webpack"
  }
}

3. 配置安装的路径

  • 指定安装包的路径npm install <包名> --prefix <路径>,将包安装到指定目录。

五、npm 性能优化

并行安装依赖:使用 npm ci 来更快地安装依赖,尤其是用于 CI/CD 环境。

离线安装:使用 npm install --offline,仅使用缓存中的包进行安装。

六、整理建议

使用 npm audit 来检测项目的安全性,确保依赖项没有已知的漏洞。

使用 npm outdated 来检查是否有过时的依赖,确保项目使用最新版本的包。

使用 npm ci 来进行自动化部署,它比 npm install 更加快速且可靠。

选读

npm 官方文档:https://docs.npmjs.com

npm 使用最佳实践:保持 package.json 的清晰与简洁,避免多余的依赖和重复的版本范围。




Enjoy Reading This Article?

Here are some more articles you might like to read next: