前端开发项目过程中会使用到各种依赖包。但是这些依赖包虽然好用,但是一味使用最新版本可能会出现各种奇葩问题,因此我们经常会针对一些依赖包指定一个稳定版本。
常用版本
版本号 | 注释 |
---|---|
“1.0.2” | 必须切到1.0.2版 |
“>1.0.2” | 必须大于1.0.2版 |
“>=1.0.2” | 必须大于等于1.0.2版本 |
“<1.0.2” | 必须小于1.0.2版本 |
“~1.0.1” | 约等于1.0.1,只更新最小版本,相当于1.0.X,即>=1.0.1 <1.1.0 |
“^1.0.1” | 与1.0.1版本兼容,相当于2.X.X, 即>=1.0.1 < 2.0.0,不改变大版本号 |
指定版本
以froala-editor富文本编辑器为例。 我将 froala-editor 指定为4.0.14,这时便可以得到一个固定版本的依赖包了。
// package.json
{
...
"dependencies": {
...
"font-awesome": "^4.7.0",
"froala-editor": "4.0.14"
"vue-froala-wysiwyg": "4.0.14"
...
}
}
强制版本
其实上述指定版本的方法,正常就可以满足 指定版本的诉求了,但是有一些依赖包,还有自己的依赖(子孙依赖包)。 这时候就需要用到resolutions了。
例如:vue-froala-wysiwyg 依赖了 froala-editor,即便指定 froala-editor 为 4.0.14,结果下载的仍是最新包 4.0.17
// package.json
{
...
"dependencies": {
...
"font-awesome": "^4.7.0",
"vue-froala-wysiwyg": "4.0.14"
},
"resolutions": {
"froala-editor": "4.0.14"
}
...
}
完成上述配置,成功得到想要的 froala-editor : 4.0.14版本。
大家如果有更好的办法,欢迎评论留言。