NPM 包管理器简介
npm 快速指南,强大的包管理器是 Node.js 成功的关键。 2017 年 1 月,据报道 npm 注册表中列出了超过 350000 个包,使其成为地球上最大的单一语言代码仓库,而且你可以确定(几乎)所有一切都有包。
NPM
的简短介绍。 如需更深入的指南,请查看 NPM 文档。npm 简介
npm
是 Node.js 的标准包管理器。
据报道,在 2022 年 9 月,npm 注册表中列出了超过 210 万个软件包,使其成为地球上最大的单一语言代码存储库,而且你可以确定(几乎)所有一切都有软件包。
它最初是作为一种下载和管理 Node.js 包依赖的方式,但后来成为前端 JavaScript 中也使用的工具。
包
npm
管理项目依赖的下载。
安装所有依赖
如果一个项目有一个 package.json
文件,通过运行
它将在 node_modules
文件夹中安装项目所需的所有内容,如果它不存在则创建它。
安装单个包
你还可以安装特定的包,通过运行
此外,从 npm 5 开始,此命令将 <package-name>
添加到 package.json
文件依赖。 在版本 5 之前,你需要添加标志 --save
。
通常你会看到更多的标志被添加到这个命令中:
--save-dev
安装并添加条目到package.json
文件开发依赖--no-save
安装但不添加条目到package.json
文件依赖--save-optional
安装并添加条目到package.json
文件可选依赖--no-optional
将阻止安装可选依赖
也可以使用标志的简写形式:
- -S:
--save
- -D:
--save-dev
- -O:
--save-optional
devDependencies 和 dependencies 之间的区别在于前者包含开发工具,如测试库,而后者与生产中的应用打包在一起。
至于 optionalDependencies 的不同之处在于,依赖的构建失败不会导致安装失败。 但是你的程序有责任处理依赖的缺失。 阅读更多关于 可选依赖 的信息。
更新包
更新也很容易,通过运行
npm
将检查所有包是否有满足你的版本控制约束的更新版本。
你也可以指定要更新的单个包:
版本控制
除了普通下载,npm
还管理 版本控制,因此你可以指定任何特定版本的软件包,或者要求比你需要的版本更高或更低的版本。
很多时候你会发现一个库只与另一个库的主要版本兼容。
或者最新版本的库中的一个错误,仍然没有修复,导致了一个问题。
指定一个库的明确版本也有助于让每个人都使用相同的包版本,这样整个团队就可以运行相同的版本,直到 package.json
文件被更新。
在所有这些情况下,版本控制都有很大帮助,npm
遵循语义版本控制 (semver) 标准。
你可以安装特定版本的软件包,通过运行
运行任务
package.json 文件支持指定命令行任务的格式,可以使用
例如:
使用这个特性来运行 Webpack 是很常见的:
因此,不用输入那些很容易忘记或输入错误的长命令,你可以运行