npm(Node Package Manager)是 Node.js 的标准包管理器。随同Node.js一起安装的包管理工具,它让开发者能够方便地共享和重用代码,可以说是Node.js生态系统中非常重要的一部分。
通过npm,开发者可以轻松地安装、更新、发布以及管理Node.js的包和依赖项。它允许开发者从npm仓库中下载别人编写的包到自己的项目中,并且可以管理这些包的版本依赖关系。此外,开发者也可以将自己编写的包发布到npm仓库,让其他开发者使用。
npm不仅仅用于Node.js的包管理,它也被广泛应用于Web前端开发,因为大多数现代的前端开发项目都使用npm来管理JavaScript的依赖包。
总而言之,npm是一个强大的工具,为Node.js和Web前端开发提供了便利的包管理功能,极大地促进了代码共享和项目协作。
包
npm
管理项目依赖的下载。
安装所有依赖
如果一个项目有一个 package.json
文件,通过运行
javascript
npm install
安装单个包
你还可以安装特定的包,通过运行
javascript
npm install <package-name>
此外,从 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 的不同之处在于,依赖的构建失败不会导致安装失败。 但是你的程序有责任处理依赖的缺失
更新包
更新也很容易,通过运行
javascript
npm update
npm
将检查所有包是否有满足你的版本控制约束的更新版本。
你也可以指定要更新的单个包:
javascript
npm update <package-name>
版本控制
除了普通下载,npm
还管理 版本控制,因此你可以指定任何特定版本的软件包,或者要求比你需要的版本更高或更低的版本。
javascript
npm install <package-name>@<version>
运行任务
package.json 文件支持指定命令行任务的格式,可以使用
javascript
npm run <task-name>
{
"scripts": {
"watch": "webpack --watch --progress --colors --config webpack.conf.js",
"dev": "webpack --progress --colors --config webpack.conf.js",
"prod": "NODE_ENV=production webpack -p --config webpack.conf.js"
}
}
javascript
$ npm run watch
$ npm run dev
$ npm run prod