NPM
NPM 的全称是 Node Package Manager,是随同 NodeJS 一起安装的包管理和分发工具,它很方便让 JavaScript 开发者下载、安装、上传以及管理已经安装的包。
官网
npm 官网:https://www.npmjs.com
npm 命令
命令 |
说明 |
npm init |
初始化一个新的 npm 项目,创建 package.json 文件。 |
npm help |
查看某条命令的详细帮助。 |
npm root |
查看包的安装路径。 |
npm install |
安装一个包或一组包,并且会在当前目录存放一个node_modules。 |
npm install package-name |
安装指定的包。 |
npm install package-name --save |
安装指定的包,并将其添加到 package.json 文件中的 dependencies 【生产依赖列表中】。 |
npm install package-name --save-dev |
安装指定的包,并将其添加到 package.json 文件中的 devDependencies 【开发依赖列表中】。 |
npm install -g package-name |
全局安装指定的包。 |
npm update package-name |
更新指定的包。 |
npm uninstall package-name |
卸载指定的包。 |
npm run script-name |
执行 package.json 文件中定义的脚本命令。 |
npm config |
管理npm的配置路径。 |
npm config list |
用于列出所有的 npm 配置信息。执行该命令可以查看当前系统和用户级别的所有 npm 配置信息,以及当前项目的配置信息(如果在项目目录下执行该命令)。 |
npm get registry |
用于获取当前 npm 配置中的 registry 配置项的值。registry 配置项用于指定 npm 包的下载地址,如果未指定,则默认使用 npm 官方的包注册表地址。 |
npm set registry npm config set registry registry-url |
命令,将 registry 配置项的值修改为指定的 registry-url 地址。 |
npm search keyword |
搜索 npm 库中包含指定关键字的包。 |
npm info package-name |
查看指定包的详细信息。 |
npm list |
列出当前项目中安装的所有包。 |
npm outdated |
列出当前项目中需要更新的包。 |
npm audit |
检查当前项目中的依赖项是否存在安全漏洞。 |
npm publish |
发布自己开发的包到 npm 库中。 |
npm login |
登录到 npm 账户。 |
npm logout |
注销当前 npm 账户。 |
npm link |
将本地模块链接到全局的 node_modules 目录下。 |
npm install 参数说明
npm install 安装模块的时候一般是扁平化安装的,但是有时候出现嵌套的情况是因为版本不同。
参数 |
说明 |
-S或–save |
安装包信息将加入到dependencies(生产阶段的依赖)。 |
-D或–sava-dev |
安装信息将加入到devDependencies(开发阶段的依赖)。 |
-O或–save-optional |
安装包信息将加入到optionalDependencies(可选阶段的依赖)。 |
-E或–save-exact |
精准安装指定模块版本。 |
版本号说明
version 版本号一般是1.0.0 大版本号、次版本号、修订号。
- 大版本号:一般是有重大变化才会升级;
- 次版本号:一般是增加功能进行升级;
- 修订号:一般是修改bug进行升级。
版本号 |
说明 |
~1.1.0、1.1.x、1.1 |
兼容模块新发布的补丁版本。 |
^1.1.0、1.x、1 |
兼容模块新发布的小版本、补丁版本。 |
*、x |
兼容模块新发布的大版本、小版本、补丁版本。 |
package.json 字段说明
字段 |
说明 |
name |
项目名称,必须是唯一的字符串,通常采用小写字母和连字符的组合。 |
version |
项目版本号,通常采用语义化版本号规范。 |
description |
项目描述。 |
main |
项目的主入口文件路径,通常是一个 JavaScript 文件。 |
keywords |
项目的关键字列表,方便他人搜索和发现该项目。 |
author |
项目作者的信息,包括姓名、邮箱、网址等。 |
license |
项目的许可证类型,可以是自定义的许可证类型或者常见的开源许可证(如 MIT、Apache 等)。 |
dependencies |
项目所依赖的包的列表,这些包会在项目运行时自动安装。 |
devDependencies |
项目开发过程中所需要的包的列表,这些包不会随项目一起发布,而是只在开发时使用。 |
peerDependencies |
项目的同级依赖,即项目所需要的模块被其他模块所依赖。 |
scripts |
定义了一些脚本命令,比如启动项目、运行测试等。 |
repository |
项目代码仓库的信息,包括类型、网址等。 |
bugs |
项目的 bug 报告地址。 |
homepage |
项目的官方网站地址或者文档地址。 |