Node.js NPM (Node 包管理器)
NPM (Node 包管理器) 是 Node.js 的默认包管理器,完全由 JavaScript 编写。由 Isaac Z. Schlueter 开发,最初发布于 2010 年 1 月 12 日。NPM 管理 Node.js 的所有包和模块,并包含命令行客户端 npm ,随 Node.js 的安装而安装到系统中。在 Node 项目中使用 NPM 安装所需的包和模块。
一个包包含模块所需的所有文件,模块是根据项目要求可以包含在 Node 项目中的 JavaScript 库。
NPM 可以通过 package.json 文件安装项目的所有依赖项。它还可以更新和卸载包。在 package.json 文件中,每个依赖项都可以使用语义化版本控制方案指定一系列有效版本,允许开发人员在自动更新包的同时避免不必要的破坏性更改。
关于 NPM 的一些事实:
- 写本文时,NPM 有 580096 个注册的包。这一数字的平均增长率是每天 291 个,超过其他任何包注册表。
- npm 是开源的
- 排名最高的 npm 包按降序排列分别是:lodash、async、react、request、express。
安装NPM:
要安装NPM,需要先安装Node.js,因为NPM会随着Node.js一起自动安装。
安装Node.js。
检查和更新npm版本:
可以使用以下语法检查系统上安装的npm版本:
语法:
npm -v
语法:
npm update npm@latest -g
由于npm是一个全局包,因此要使用 -g 标志来更新它 全局 。
创建一个Node项目:
要创建一个Node项目,在用户想要创建项目的文件夹中使用 npm init 。npm命令行会询问许多问题,如 名称、许可证、脚本、描述、作者、关键字、版本、主文件 等。完成项目的创建后,将在项目文件夹中看到一个package.json文件,证明项目已经初始化。
安装包:
创建项目后,下一步是将要在Node项目中使用的包和模块整合到项目中。要在项目中安装包和模块,使用以下语法:
语法:
npm install package_name
示例: 安装express包到项目中。Express是Node使用的Web开发框架。
语法:
npm install express
使用Node中的express,请按照以下语法进行操作:
语法:
var express = require('express');
示例: 要在系统中安装一个全局包(可由所有项目访问),请在用于安装包的语法中添加一个额外的 -g 标签。
全局安装 nodemon 包。
npm install nodemon -g
控制包安装的位置:
要安装一个软件包并同时将其保存在package.json文件中(如果使用Node.js),请添加 –save 标志。-save标志是npm install命令的默认值,因此与 npm install package_name 命令相同。
示例:
npm install express --save
通过–save标志,可以控制软件包的安装位置。
--save-prod:使用此选项,包将显示在默认的Dependencies中。
--save-dev:使用此选项,包将显示在devDependencies中,并且只在开发模式下使用。
示例:npm install node-color –save-dev
如果已经有一个package.json文件,并且所有的包都已经被声明为依赖项,只需在终端中输入npm install即可。npm将查看package.json文件并根据其声明的版本安装所有依赖项。当Node项目被fork和clone时,通常会使用此命令。一般不会将node_modules文件夹推送到github仓库中,克隆者需要运行npm install来安装依赖项。
注意: NPM以本地模式(默认)安装依赖项,这些依赖项将放置在Node应用程序文件夹中的node_modules目录中。要查看所有本地安装的模块,可以使用npm ls命令。
卸载软件包:
要使用npm卸载软件包,请按照以下语法:
语法:
npm uninstall
示例如何卸载express包。
若要卸载全局包,请按照以下语法操作:
语法:
npm uninstall package_name -g
使用语义化版本控制来管理软件包:
- 在package.json文件中,如果要安装特定版本的软件包,请明确指明完整的版本号。
- 如果要安装软件包的最新版本,请在依赖项前面加上“*”或者写上“latest”。这将找到最新的稳定版本并进行安装。
- 如果要安装大于给定版本的任何版本(稳定版),请按照以下示例指定版本号: “express”:”^4.1.1″. 在package.json文件中,使用插入符号(^)告诉npm找到大于4.1.1的版本并安装。