1.NPM 包的语义化版本规范
包的版本号是以 “点分十进制” 形式进行定义的,共有三位数字,例如 ^2.2.1
其中每一位数字代表含义如下:
- 数字前的符号
- 第 1 位数字 : 大版本
- 第 2 位数字 :功能版本
- 第 3 位数字 :Bug修复版本
数字前的符号:
- ~ 不改变大版本号和次要版本号,小版本号随意。会匹配最近的小版本依赖包,~2.2.1, 表示 >=2.2.1 <2.3.0 版
- ^ 不改变主版本号(主版本号非0),版本号最左边非 0 数字的右侧可以任意,如: ^2.2.1,表示 >=2.2.1 < 3.0.0 版依赖包;^0.2.1,表示 >=0.2.1 <0.3.0 版依赖包;^0.0,表示 >=0.0.0 <0.1.0 版依赖包;
- * 安装最新版本的依赖包
版本号提升规则: 只要前面的版本号增长了,则后面的版本号就要归零
2.快速创建 package.json
npm init -y
3. devDependencies( 开发依赖包 ) 和 dependencies( 核心依赖包 )
如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到 devdependencies节点中;
npm i 包名 -D
如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到dependenices
npm i 包名 -S
4.包的发布流程
1. 先按照规则写一个包项目;
2. 去 npm 官网 注册 npm 帐号;
3. 在终端里登录帐号( npm 地址必须为 npm 官方服务器);
忽略文件
files:["package.json","src"]
files>.npmignore>.gitignore
4. 在终端里进入包项目目录,输入 npm publish
npm publish
5. 删除已发布的包
// 1. 只能删除 72 小时内发布的包; 2.被删除的包 24 小时内不能重复发布
npm unpublish
5. 运行 npm run XXX 的时候发生了什么?
- 运行 npm run XXX 的时候,npm 会在当前目录的 node_modles/.bin 查找要执行的程序,如果找得到则运行;
- 如果没有则从全局的 node_modules/.bin 中查找,npm i -g xxx 就是安装到全局目录;
- 如果全局目录还是没找到,那么就从 path 环境变量中找有没有其他同名的可执行程序。
6.npm 常用命名
// 1. 查看所有全局安装的包
npm list -g --depth 0
// 2. 查看配置信息
npm config list
// 3. 修改包下载源,此例修改为了淘宝镜像
npm config set registry https://registry.npm.taobao.org
// 4. 查看远程npm上指定包的所有版本信息
npm info 指定包名
// 5. 清缓存
npm cache clean --force