NPM
npm 全称是 Node Package Manager ,是 Node.js 官方内置的包管理工具
初始化
在安装 Node.js 时会自动安装 npm ,所以如果已经安装了 Node.js,可以直接使用 npm。可以通过 npm -v
查看版本号
# 创建空目录
mkdir npm-demo && cd npm-demo
# 执行初始化
npm init
初始化的过程中的注意事项:
- package name 不能使用中文、大写,默认值是文件夹的名称
- version 要求
x.x.x
的形式定义,x 必须是数字,默认值是 1.0.0 - ISC 证书与 MIT 证书功能上是相同的
package.json
可以手动创建与修改
常用指令
<pkg>
表示依赖包的名称
命令 | 描述 |
---|---|
npm init | 初始化,生成 package.json |
npm init -y 或者 npm init --yes | 快速创建 package.json |
npm install <pkg> (简写:npm i ) | 将依赖安装到生产环境中 |
npm uninstall <pkg> (简写 npm uni ) | 卸载依赖包 |
npm update <pkg> | 更新依赖包 |
npm install npm -g | 升级 npm |
npm config get registry | 查看镜像地址 |
npm list -g (简写 npm ls -g ) | 查看全局安装包 |
npm cache clear --force | 清除 npm 缓存 |
npm i --legacy-peer-deps | 在安装依赖时忽略对 peer dependencies 的版本检查 |
安装参数区别
全局安装
npm install <pkg> -g
生产环境安装
npm install <pkg>
默认将依赖安装到生产环境,可以添加--save
参数,简写:-S
,然后会在 package.json 的 dependencies 属性中写入依赖。
npm install <pkg> --save
开发环境安装
简写:-D
, 并在 package.json 的 devDependencies 属性写入依赖。
npm install <pkg> --save-dev
切换淘宝镜像
使用 cnpm 命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装成功后即可使用
cnpm install <pkg>
也可以直接设置淘宝镜像源:
npm config set registry https://registry.npm.taobao.org
切换回 npm 镜像:
npm config set registry https://registry.npmjs.org
查看镜像源:
npm get registry
package.json 中的版本符号
版本号形式:major.minor.patch
,即主版本号.次版本号.修补版本号
- major:新的架构调整,不兼容老版本
- minor:新增功能,兼容老版本
- patch:修复 bug,兼容老版本
特殊符号:
^version
,表示版本号中最左边的非 0 数字的右侧可以是任意版本- 如
^17.0.2
表示最大版本是17.x.x
,而不会自动升级到18.0.0
0.2.3
表示最大版本是0.2.x
,不会超过0.3.0
- 如
~version
,表示大概匹配- 如果 minor 版本号指定了,那么 minor 版本号不变,而 patch 版本号任意
- 如果 minor 和 patch 版本号未指定,那么 minor 和 patch 版本号任意
~1.2.3
表示版本可以是1.2.x
~1
表示版本可以是1.x.x
发布插件
发布流程
npm init
初始化项目,生成 package.json 文件- 编写代码
- 创建
.npmignore
文件,发布时会忽略里面的文件 - 创建 README.md 文件,添加插件描述
- 使用邮箱注册 npm 账号
- 在 npm 官网查看插件名是否已经注册
- 可以运行
npm whoami
查看当前用户是不是自己 - 在项目下运行
npm login
,输入用户名、密码、邮箱 - 运行
npm publish
- 在 npm 官网查看是否发布成功