• 语义化版本


    之前就觉得为什么 github 上的大部分东西都是 1.0.1、1.11.1 甚至 0.11.1 这种奇葩的版本。为什么 jQuery 1.9.9 之后不是 2.0.0 而是 1.10.0。而且在 npm init 的时候不能输入 1 或 1.0 这样的版本,就算你手动修改了 package.json 里的版本之后,就无法安装其他模块,报 Invalid version: "1.0" 无效版本错误。

    相信这些问题不仅仅只有我疑问过吧。今天学习 node 模块源码的时候,翻到了个 semver 模块,看到了对于版本的处理,然后找到了《语义化版本 2.0.0》官方文档。

    语义化版本

    版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

    1. 主版本号:当你做了不兼容的 API 修改,
    2. 次版本号:当你做了向下兼容的功能性新增,
    3. 修订号:当你做了向下兼容的问题修正。

    先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

    都大一统吧

    我之前一直都是 1.0,1.1,这样命名的,npm 下没办法才用 1.0.0。现在知道为什么了,突然感觉我之前好蠢。 如果大家都遵循这个规范后,看一眼就知道这次更新大概是做了什么调整了,是加了新东西,还是修复bug,还是完全不兼容的重构。用户就知道这次的东西是能直接升级的,还是需要修改自己的代码才能升级的。

    希望和我一样不知道的朋友,赶紧都规范起来吧。

  • 相关阅读:
    代码守恒定律
    第一个Dockerfile
    服务器项目白名单设置
    TOMCAT禁用不安全请求方式
    标准单例模式
    二进制,八进制,十进制,十六进制!!!!
    JAVA按层级遍历二叉树
    String的+
    安装 Rational Rose 启动报错:无法启动此程序,因为计算机中丢失 suite objects.dll
    java中文乱码问题
  • 原文地址:https://www.cnblogs.com/cnundefined/p/7069026.html
Copyright © 2020-2023  润新知