版本号定义
<major>.<minor>.<patch>
<major> 即主版本号,俗称大版本升级。改动到主版本号时,标志着 API 发生了巨大变化,包括但不限于新增特性、修改机制、删除功能, 一般不兼容上一个主版本号。
<minor> 即次版本号,俗称小版本升级。当我们进行常规的新增或修改功能时,改动次版本号,但是 必须是向前兼容的。这也意味着我们 不能直接删除某个功能。如若必要,我们可以在 changelog 中标记某项功能为「即将删除(Deprecated)」,然后在下一个大版本中将其彻底删除。
<patch> 即修订号,俗称 bug 修复。顾名思义,如果仅仅为了修复或调整一些小问题,我们就只改动修订号。
注意事项
版本号前不要加 v。
不要在数字前补 0。错误示例:01.12.03。
每一位版本号按照 +1 的速度递增,不要在版本号之间跳跃。
主版本号停留在 0 的版本号,即 0.x.x 应当视作还在内部开发阶段的代码。如果代码有公共 API,此时不宜对外公开。
1.0.0 的版本号用于界定公共 API 的形成。
当次版本号递增时,修订号归零;当主版本号递增时,次版本号、修订号归零。
进行新的开发时,版本号从 0.1.0 开始。
如果不小心把一个不兼容的改版当成了次版本号发行,应当发行一个新的次版本号来更正这个问题并且恢复向下兼容。注意 不能去修改已发行的版本。
如果一个包发布在 NPM / TNPM 中,可以快速修改其版本号。会自动触发一个 git 提交
预发版本号
<major>.<minor>.<patch>-<tag>(tag 格式 [0-9A-Za-z-.])
<major>.<minor>.<patch>-<stage>.<num>(stage [alpha,beta,rc])
不同的 deps 字段
npm中dependencies、devDependencies、peerDependencies
| 字段 | 含义 | 安装时机 | 场景 |
|---|---|---|---|
| dependencies | 运行时依赖,包的调用者需要使用到的依赖 | 执行 npm install 后会把当前包的 dependencies 字段中的所有依赖项安装到 ./node_modules 目录。执行 npm install xxx 后会把 xxx 安装到 ./node_modules 下,同时会安装 xxx 的 dependencies 字段依赖项到 ./node_modules/xxx/node_modules 目录。 执行 npm install xxx –save 后会额外把 xxx 作为依赖存到当前包的 dependencies 字段中。 | 所有程序运行需要用到的依赖代码 |
| devDependencies | 开发时依赖,包的开发维护者需要使用到的依赖 | 执行 npm install 后也会把当前包的 devDependencies 字段中的所有依赖项安装到 ./node_modules 目录。执行 npm install xxx 后会把 xxx 安装到 ./node_modules 下,但不会安装 xxx 的 devDependencies 字段依赖项。执行 npm install xxx –save-dev 后会额外把 xxx 作为开发时依赖存到当前包的 devDependencies 字段中 | 一般是一些开发调试的辅助工具,如测试工具 mocha、构建工具 gulp 等 |
| peerDependencies | – | – | 仅在 特定场景 下有用,默认不使用此字段 |