Node.js 包管理利器:npm 核心功能与操作指南
简介
npm(Node Package Manager)是 JavaScript 的包管理工具,主要用于 Node.js 生态系统中依赖项的安装、管理和共享。它是全球最大的软件注册表之一,包含超过 100 万个开源包。
核心功能
- 依赖管理:通过
package.json文件记录项目依赖,支持版本控制和自动安装。 - 脚本执行:通过
scripts字段定义并运行自定义命令(如构建、测试)。 - 模块发布:开发者可将自己的模块发布到 npm 仓库供他人使用
常用指令
初始化项目,生成package.json文件
npm init安装依赖
npm install <package-name>全局安装
npm install -g <package-name>安装指定版本
npm i <package-name>@版本号单独安装生产依赖,即dependencies内部依赖
npm i --production更新依赖
npm update查看所有依赖
npm list查看某个包发布了哪些版本
npm view <package-name> versions查看某个包当前项目使用了哪个版本
npm ls <包名>查看过期包
npm outdated清理npm缓存
npm cache clean --force登录用户
npm adduser (旧) npm login发布包
npm publish卸载包
npm unpublish --froce符号含义
| 类型 | 版本升级 | 说明 |
|---|---|---|
| 主版本号(Major) | 1.0.0→2.0.0 | 存在破坏性更改(Breaking Change) |
| 次版本号(Minor) | 1.1.0→1.2.0 | 新增功能,向后兼容 |
| 补丁号(Patch) | 1.1.1→1.1.2 | Bug 修复,向后兼容 |
*:最新版本
^:允许更新 minor 和 patch,锁定 major。
例如^2.0.0,允许更新到2.x.x最新版本,不会更新到3.x.x。
~:允许更新 patch,锁定 minor、锁定 major。
例如^2.0.0,允许更新到2.0x最新版本,不会更新到2.1.0以上版本。
空:锁定Patch,下载固定版本。
脚本
在package.json的scripts标签里面可以注册指令,可以通过npm run <指令名称>去运行。
{ "name": "mypackage", "version": "0.0.0-SNAPSHOT", "scripts": { "dev": "npm run serve", "buildjsByParallel":"node build1.js & node build2.js", "buildjsBySerial":"node build1.js && node build2.js", }, }脚本执行顺序管理说明:
- 并行执行(&连接):使用
&连接的脚本会同时运行。例如在buildjsByParallel中,build1.js和build2.js的执行完成顺序无法确定。 - 串行执行(&&连接):使用
&&连接的脚本会按顺序执行。例如buildjsBySerial会先运行build1.js,待其执行完毕后再运行build2.js。
npm常用工具包
cross-env
cross-env是一个简单而强大的npm工具包,它解决了在不同操作系统平台上设置环境变量的一致性问题。
安装步骤
# 作为开发依赖安装 npm install --save-dev cross-env # 或使用yarn yarn add -D cross-env基本使用方法
{ "scripts": { "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js", "dev": "cross-env NODE_ENV=development webpack-dev-server" } }使用详解文档:https://jishuzhan.net/article/1923909146051727362
