资讯专栏INFORMATION COLUMN

NPM酷库:semver 语义化版本判断

Carbs / 2441人阅读

摘要:今天在此向大家推荐一种非常流行的版本号命名规则语义化版本。语义化版本约定修订版本号代表在和之前接口不变的前提下修正了。就是专门用于语义化版本号检查的库,其也是语义化版本标准的制定者。

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") // null
semver.clean("  =v1.2.3   ") // "1.2.3"
semver.satisfies("1.2.3", "1.x || >=2.5.0 || 5.0.0 - 7.2.3") // true
semver.gt("1.2.3", "9.8.7") // false
semver.lt("1.2.3", "9.8.7") // true
参考资料

https://github.com/npm/node-s...

https://semver.org/lang/zh-CN/

欢迎关注公众号:梁兴臣

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92750.html

相关文章

  • NPM酷库043:joi,语义模式验证

    摘要:酷库,每天两分钟,了解一个流行库。在酷库中,我们了解到了数据模式验证,以及库。是语义化的对象数据模式验证库,所谓语义化,是指其方法名能够明确表达其含义。 NPM酷库,每天两分钟,了解一个流行NPM库。· 在NPM酷库042中,我们了解到了JSON Schema数据模式验证,以及ajv库。今天我们来学习另一个对象数据验证的库joi。 joi joi 是语义化的对象数据模式验证库,所谓语义...

    2bdenny 评论0 收藏0
  • pkg版本规范管理自动最佳实践

    摘要:为什么为什么不是为什么不是为什么不是为什么不是严格的指导原则有助于为版本号提供意义。此外,如果你有打破当前的,这同样表示你需要升级你的主版本号了。 前提 何为版本?版本即语义版本控制( Semantic version 后面简称为 SemVer )是一种版本控制系统,在过去几年中一直在不断发展。 随着每天都在构建新的插件,插件,扩展和库,拥有通用的软件开发项目版本化方法是一件好事,可以...

    Ocean 评论0 收藏0
  • vue-cli中配置webpack系列文章二 ------ check-versions.js

    check-versions.js //定制控制台日志的输入样式 var chalk = require(chalk) // 加载语义化版本测试库 var semver = require(semver) // 引入package.json文件 var packageConfig = require(../package.json) function exec(...

    Eidesen 评论0 收藏0
  • 深挖 NPM 机制

    摘要:可以通过查询对映模块的信息安装机制输入命令并敲下回车后,会经历如下几个阶段以为例执行工程自身当前工程如果定义了钩子此时会被执行。在以前会严格按照依赖树的结构进行安装,因此会造成模块冗余。当发现有重复模块时,则将其丢弃。 使用NPM安装的时候会经常出现包冲突(比如多个主模块的子模块版本不一致等),导致在开发过程中会遇到各种或大或小的问题。所有在这会介绍以下内容: NPM 主要安装方式 ...

    JaysonWang 评论0 收藏0
  • 深挖 NPM 机制

    摘要:可以通过查询对映模块的信息安装机制输入命令并敲下回车后,会经历如下几个阶段以为例执行工程自身当前工程如果定义了钩子此时会被执行。在以前会严格按照依赖树的结构进行安装,因此会造成模块冗余。当发现有重复模块时,则将其丢弃。 使用NPM安装的时候会经常出现包冲突(比如多个主模块的子模块版本不一致等),导致在开发过程中会遇到各种或大或小的问题。所有在这会介绍以下内容: NPM 主要安装方式 ...

    godruoyi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<