博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NPM酷库:semver 语义化版本判断
阅读量:6003 次
发布时间:2019-06-20

本文共 741 字,大约阅读时间需要 2 分钟。

NPM酷库,每天两分钟,了解一个流行NPM库。

软件的命运就是不断维护、更新、迭代,所以我们用版本号来区分一个软件的不同时期和形态,版本号的命名方式有各种各样,有的以小数表示(几点几),有的以日期表示,有的以代码提交Hash表示等等。

今天在此向大家推荐一种非常流行的版本号命名规则:语义化版本。

所有NPM包都是用语义化版本号管理的,其格式如下

主版本号.次版本号.修订号

比如,2.1.12,代表主版本号为2,次版本号是1,修订版本号是12。语义化版本约定:

  • 修订版本号代表在和之前接口不变的前提下修正了BUG。
  • 次版本号变化说明产品增加了新特性,接口可能已经发生了变化。
  • 主版本号变化代表产品已经发生了很大的改变,与之前版本不兼容。

semver

在项目中,我们也许会在某些情况下对版本号进行检查、比较等操作。比如一个典型案例,在服务端判断APP客户端是否需要升级。

semver 就是专门用于语义化版本号检查的库,其也是语义化版本标准的制定者。

const semver = require('semver')semver.valid('1.2.3') // '1.2.3'semver.valid('a.b.c') // nullsemver.clean('  =v1.2.3   ') // '1.2.3'semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // truesemver.gt('1.2.3', '9.8.7') // falsesemver.lt('1.2.3', '9.8.7') // true

参考资料

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手

转载地址:http://cadmx.baihongyu.com/

你可能感兴趣的文章
553 mail from must equal authorized user解决方法
查看>>
information_schema数据库
查看>>
专访路彦雄:理解语言其实还是很难的
查看>>
使用IIS完成域名重定向
查看>>
如何使用LVM卷管理Linux系统中的磁盘
查看>>
python 正则表达式 re模块基础
查看>>
NSString+URLEncoding.h --使用Obj-C对数据等进行URLEncoding编码
查看>>
如何在Ubuntu中使用dpkg命令卸载软件
查看>>
linux wc tr cut sort
查看>>
linux下的一些常用命令
查看>>
linux基础网络设置
查看>>
如何启用EM-Grid/Cloud Control的HTTP而非HTTPS协议登陆
查看>>
docker网络
查看>>
samba+chmod+setfacl组合设置目录权限问题
查看>>
Exchange 常见问题之二----5
查看>>
jQuery选择器和事件
查看>>
每天学一点Scala之sealed
查看>>
数据库查询一条语句就需要很长的时间
查看>>
nagios--check_redis监控redis
查看>>
静态化
查看>>