本文操作环境:Windows10系统、nodejs 12.19.0版、Dell G3电脑。
nodejs中lts是什么意思
LTS是Long Time Support,长期支持的意思。
-
LTS:长期支持版,稳定
-
Current:最新版
Node维护了着两条发布流程线:奇数版本每年的10月份发布,偶数版本第二年的4月份发布。
当一个奇数版本发布后,最近的一个偶数版本会立即进入LTS维护计划,一直持续18个月。再之后会有12个月的延长维护期。这两个期间可以支持的变更是不一样的:
LTS期间支持的变更:bug fix,安全问题 fix, 文档更新和与未来新特性兼容问题的更新。
Maintenanece期间支持的变更: 严重的bug fix,严重的安全问题 fix 或者文档更新。
当一个偶数版本发布时,奇数版本只有2个月的维护期,再只能乖乖升级。
总结来说:
基于小版本号升级来说,LTS和Maintenanece版本没有激进的新特性更新,更加适应于生产环境,升级小版本号的回归工作量和风险性会小很多。基于主版本号升级来说,LTS和Maintenanece版本维护的生命周期长,不需要经常升级主版本号,而奇数版本则不然,通常半年多就得升级一次主版本号。
扩展知识:
Node.js LTS 计划
Node.js core 在 Node.js 与 io.js 合并后,为了保证发布稳定有序,让开发者能够合理安排升级,开始使用 LTS(Long Term Support)来规划发布周期。第一个 LTS 版本是 v4,发布于 2015 年 10 月。
在这个规划下,Node.js 的版本相当于 master 分支在特定时间下经过稳定化处理的快照,时间到了就将 master 分支上稳定的部分整合起来,发布新的版本,因此 Node.js 的发布是 以时间的流逝为准,在保证兼容性靠拢的前提下跳版本 ,而不是以兼容性和新特性的多少为准,这也解释了为什么 Node.js 的版本看上去跳得那么快(不是“啊,我们攒了这么多大招,可以发新版了!”而是“啊,四月到了该发版了,我们把攒过的大招过一遍,看有什么够稳定能加进去的,虽然可能这些招不怎么大就是了……”)。
值得一提的是,目前的常青浏览器/主流 JavaScript 引擎/ECMAScript 标准/C++ 标准也是采用类似的原则,以时间跨度为基准,从主干上截取稳定特性来进行发布的。
每一个 LTS 都会有一个代号,从元素周期表取元素名,按照字母表排序,挑选出合适的。v4 的代号是 Argon(氩),v6 的代号是 Boron(硼)。
Node.js 的版本命名规则遵循 语义化版本(Semantic Versioning),版本号分为三部分,第一个数字(semver-major)增加,表示有不兼容的改变;第二个数字(semver-minor)增加,表示有保持兼容的新特性;第三个数字(semver-patch)增加,表示有在保持兼容性与特性不变的前提下的改动,比如修复了 bug 或者改进了文档。这个命名规则有利也有弊,此处不赘述,但它的一些矛盾之处使得 Node.js 的命名有一些例外,比如安全更新即使会导致不兼容,为了能够更新到所有 major 版本,也依然是 semver-minor。
推荐学习:《nodejs视频教程》
以上就是nodejs中lts是什么意思的详细内容,更多请关注风君子博客其它相关文章!