Node.js是一个基于ChromeV8引擎的JavaScript运行环境。在我们日常开发中,Node.js的使用场景越来越多,大到服务端项目,小到开发工具脚本,因此掌握一些Node.js的基础知识是非常有必要的。今天主要讲一下Node.js中LTS和Current的区别,以及如何选择合适的版本。一、版本介绍在官网可以看到Node.js有LTS系列和Current系列,分别对应不同的最新版本号。(此图来自:Nodejs)Node.js的版本号命名遵循语义版本(SemanticVersioning),一种统一的版本号表示规则,规定了版本号如何表示,如何递增,如何比较,不同版本数字意味着穿东西。版本格式:主版本号。次版本号。revisionnumber主版本号(major):当你做一个不兼容的API修改时,minorversionnumber(minor):当你做一个向后兼容的功能添加时,可以理解为Featureversion,revisionnumber(patch):当你做了向后兼容的问题修正,可以理解为Bug修复版。2.LTS版本LTS版本的全称是LongTimeSupport,即长期支持版本,侧重于稳定性和安全性。每个LTS版本的主版本号都是偶数。建议首次下载和后续每次升级都选择LTS版本。减少开发过程中的未知问题。LTS版本有3个阶段的生命周期:生命周期的含义是指在Active阶段,每个从Current进入LTS的偶数版本都会被主动维护升级18个月。在18个月的主动维护阶段之后,维护阶段将进入12个月的维护阶段,在此期间只会应用错误修复和安全补丁。EndofLife简称EOL。维护期截止后,该版本将进入EOL阶段,不再维护。也就是说,每个LTS版本都会有长达30个月的维护期,维护完之后就不再维护了。版本生命周期图(2022-2025):(图片来自:Node.js)3.当前版本Current是最新发布的版本。该版本侧重于必要功能的开发和现有API的改进,生命周期较短,代码更新较频繁。您可以在此版本中体验最新的功能,也可能会遇到各种意想不到的问题和兼容性问题。通常Current版本每6个月发布一个大版本(特殊情况除外):每年4月发布一个新的偶数版本;每年10月发布一个新的奇数版本。(图片来自:Node.jsreleases)详细的版本更新记录可以查看Node.jsreleases。4.如何选择合适的版本?使用LTS版本一般用于生产环境,注重稳定性。如果需要稳定性,生产环境比较复杂(比如中大型企业),建议使用LTS版本。当前版本一般用于测试环境。如果你想尝试新版本和新特性(比如ECMAScript的新特性),或者可以在不打扰环境的情况下快速方便地升级版本,建议使用当前版本。五、小结本文主要讲一下Node.js中LTS和Current的区别,以及如何选择合适的版本。在实际开发中,没有必要及时更新到最新版本。我们可以按照项目技术栈所依赖的最小Node.js。版本决定是否升级。如果条件允许,建议至少将主版本升级到最新的LTS版本。
