掌握 NPM:前端与 Node.js 开发者必备命令大全
NPM (Node Package Manager) 无疑是现代 JavaScript 开发的基石。无论是前端项目还是 Node.js 后端服务,NPM 都扮演着管理依赖、执行脚本、发布模块等关键角色。熟悉并熟练使用 NPM 命令,能够极大提高我们的开发效率。
本文将带你深入了解 NPM 的常用命令,从基础操作到高级技巧,助你成为 NPM 的使用高手!
快速获取帮助:
在深入学习之前,请记住两个获取帮助的万能命令:
- 查看所有命令概览:
npm help
或npm -l
- 查看特定命令的详细用法:
npm <命令名称> --help
(例如:npm install --help
)
核心利器:日常开发必备命令
这些命令构成了我们日常 NPM 操作的核心,是你每天都会打交道的“老朋友”。
npm install
(或 npm i
):安装依赖的魔术棒
这是 NPM 最核心的命令,用于下载并安装项目所需的各种模块。
安装项目所有依赖 (基于
package.json
):npm install
当拿到一个新项目或
package.json
文件更新后,首先运行它。安装特定模块 (并自动添加到
dependencies
):npm install <模块名> # 例如: npm install react npm install <模块名>@<版本号> # 例如: npm install lodash@4.17.21
全局安装模块 (通常用于命令行工具):
npm install -g <模块名> # 例如: npm install -g typescript
安装开发时依赖 (
devDependencies
):
这些模块只在开发过程中需要,如测试框架、构建工具等。npm install --save-dev <模块名> # 或者使用简写: npm install -D <模块名> # 例如: npm install -D jest
安装可选依赖 (
optionalDependencies
):
如果这些依赖安装失败,NPM 不会报错,项目仍可继续。npm install --save-optional <模块名> # 或者使用简写: npm install -O <模块名>
安装模块但不写入
package.json
:npm install --no-save <模块名>
npm uninstall
(或 npm rm
, npm un
):卸载不再需要的模块
当项目中不再需要某个模块时,使用此命令将其移除。
卸载项目中的模块 (并从
package.json
移除):npm uninstall <模块名> # 例如: npm uninstall moment
全局卸载模块:
npm uninstall -g <模块名>
卸载开发时依赖 (并从
devDependencies
移除):npm uninstall --save-dev <模块名> # 或者使用简写: npm uninstall -D <模块名>
npm update
(或 npm up
, npm upgrade
):保持模块最新
根据 package.json
中定义的版本范围,将依赖更新到较新的兼容版本。
- 更新所有依赖:
npm update
- 更新特定模块:
npm update <模块名>
- 更新全局安装的模块:
npm update -g <模块名>
npm init
:开启新项目的向导
为新项目创建一个 package.json
文件,它会引导你填写项目名称、版本、描述等信息。
- 快速初始化 (所有选项使用默认值):
npm init -y # 或者 npm init --yes
npm run <脚本名称>
:执行自定义脚本
package.json
文件中的 scripts
字段允许你定义各种自定义命令,通过 npm run
来执行。
- 示例 (假设
package.json
中有如下配置):
执行"scripts": { "dev": "node server.js", "build": "webpack --mode production" }
dev
脚本:
执行npm run dev
build
脚本:npm run build
常用脚本快捷方式
NPM 为一些常用的脚本名称提供了快捷方式:
npm start
:等同于npm run start
。npm stop
:等同于npm run stop
。npm test
(或npm t
):等同于npm run test
。npm restart
:通常执行npm run stop && npm run restart && npm run start
(具体行为取决于脚本定义)。
npm version <版本操作>
:管理项目版本
用于更新 package.json
中的版本号,并且如果你的项目是一个 Git 仓库,它还会自动创建版本提交和标签。
- 常用版本操作:
npm