npm 是 JavaScript 的包管理工具,用于下载、安装、更新和管理项目依赖,并支持发布包;通过 npm init 初始化项目生成 package.json,区分 dependencies 和 devDependencies 安装依赖,用 npm update/npm uninstall 等命令维护依赖,通过 scripts 自定义运行指令。

npm 是 JavaScript 的包管理工具,全称是 Node Package Manager。它既是在线的开源库(npmjs.com)也是你本地安装 Node.js 时自带的命令行工具。简单说:它帮你下载、安装、更新和管理项目中用到的第三方代码(比如 React、Lodash、Axios),也支持发布自己的包。
初始化项目并生成 package.json
每个用 npm 管理依赖的项目,都需要一个 package.json 文件,它是项目的“清单”和“说明书”。运行以下命令可快速创建:
- npm init —— 交互式引导,一步步填写项目名、版本、描述等
- npm init -y —— 跳过提问,用默认值一键生成(适合快速开始)
生成后你会看到一个 JSON 文件,里面包含 name、version、main、scripts 等字段,其中 dependencies 和 devDependencies 是存放依赖的关键位置。
安装依赖:区分生产环境与开发环境
安装包时,要明确这个包是项目运行时必需的(如 Vue、Express),还是仅在开发阶段用(如 ESLint、Vite、@types/react):
立即学习“Java免费学习笔记(深入)”;
- npm install lodash 或 npm i lodash → 自动加到 dependencies
- npm install eslint --save-dev 或 npm i eslint -D → 加到 devDependencies
安装后,npm 会把包下载到 node_modules 文件夹,并在 package-lock.json 中锁定具体版本号,确保团队协作时安装结果一致。
更新、卸载与查看依赖
日常维护依赖很常见,几个高频命令要记牢:
- npm update —— 升级所有符合 semver 规则的依赖(比如从 ^1.2.0 升到 ^1.3.0)
- npm update lodash —— 只升级指定包
- npm uninstall axios 或 npm rm axios —— 删除并从 dependencies 中移除
- npm list --depth=0 —— 查看当前项目一级依赖(不显示嵌套子依赖)
- npm outdated —— 查看哪些依赖有新版本可升级
运行脚本与自定义命令
package.json 中的 scripts 字段不只是给构建工具用的,它让你用 npm run 就能执行任意命令:
- 比如写:
"scripts": { "dev": "vite", "build": "vite build", "test": "jest" } - 之后就可以运行 npm run dev、npm run build 等
- 内置命令如 npm start、npm test 不用加 run 也能直接执行
这相当于为项目封装了一套可复用、易记忆的指令集,不用每次翻文档或记复杂命令。
基本上就这些。npm 本身不复杂,但 package.json 的结构、依赖类型区分、lock 文件作用这些细节容易忽略,理清了就能稳稳管好项目依赖。











