zoukankan      html  css  js  c++  java
  • 转NodeJS的npm模块版本号 模式解析

    npm 中的模块版本都需要遵循 semver 2.0 的语义化版本规则。

    版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下兼容的问题修正。 先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

    然后基于语义化的版本,我们在选择版本的时候就可以对依赖进行版本的控制:

    dependencies: { "express": "3.x", "debug": "*", "express-session": "~1.0.0", "connect-redis": "1.2.3" }
    从例子中可以看到,有许多种选择版本范围的风格,可以在 semver in npm 上看到每一个不同风格的作用。 而在 node.js 的模块管理中,最常用到的几种是:

    *: 任意版本
    1.1.0: 指定版本
    ~1.1.0: >=1.1.0 && < 1.2.0
    ^1.1.0: >=1.1.0 && < 2.0.0
    其中 ~ 和 ^ 两个前缀让人比较迷惑,简单的来说:

    ~ 前缀表示,安装大于指定的这个版本,并且匹配到 x.y.z 中 z 最新的版本。
    ^ 前缀在 ^0.y.z 时的表现和 ~0.y.z 是一样的,然而 ^1.y.z 的时候,就会 匹配到 y 和 z 都是最新的版本。
    特殊的是,当版本号为 ^0.0.z 或者 ~0.0.z 的时候,考虑到 0.0.z 是一个不稳定版本, 所以它们都相当于 =0.0.z。

  • 相关阅读:
    java.io.Serializable浅析
    SSH和SSM的区别
    [转]github详细教程
    GITHUB的使用
    常用端口-小结
    DNS的解析原理
    windows快捷键-小结
    ip地址0.0.0.0是什么意思
    windows插件框架下载地址
    redis和mongodb
  • 原文地址:https://www.cnblogs.com/wucg/p/5790963.html
Copyright © 2011-2022 走看看