【Node.js】1399- 3 分钟掌握 Node.js 版本的区别

2022-11-15 19:22:39 浏览数 (1)

Node.js[1]是一个基于 Chrome V8[2] 引擎的 JavaScript 运行时环境。在我们日常开发中,Node.js 使用场景越来越多,大到服务端项目,小到开发工具脚本,所以掌握 Node.js 一些基础知识是非常有必要的。

今天主要聊一下 Node.js 中 LTS 和 Current 的区别和如何选择合适的版本。

一、版本介绍

在官网上可以看到 Node.js 有 LTS 系列和 Current 系列,分别对应不同的最新版本号。

(本图来自:Nodejs[3])

Node.js 的版本号命名遵循语义化版本[4](Semantic Versioning),统一版本号表示规则,该规则规定了版本号如何表示,如何增加,如何进行比较,不同的版本号意味着什么。

版本格式:主版本号.次版本号.修订号

  • 主版本号(major):当你做了不兼容的 API 修改,
  • 次版本号(minor):当你做了向下兼容的功能性新增,可以理解为Feature版本,
  • 修订号(patch):当你做了向下兼容的问题修正,可以理解为Bug fix版本。

二、LTS 版本

LTS 版本全称 「Long Time Support」,即「长期支持版本」,重点在于稳定性和安全性,每个 LTS 版本的大版本号都是「偶数」,建议首次下载以及后续的每次升级都选择 LTS 版本,减少开发过程中出现的未知问题。LTS 版本有 3 个阶段的生命周期:

「生命周期」

「含义」

「说明」

Active

活跃阶段

每个从 Current 进入 LTS 的偶数版本,都会有 18 个月的时间被积极维护和升级。

Maintenance

维护阶段

活跃阶段达到 18 个月后,会进入为期 12 个月的维护阶段,期间只会进行错误修复和安全补丁。

End of Life

结束阶段

简称 EOL ,在维护阶段达到期限之后,该版本进入 EOL 阶段,将不再维护,也就是说,每个 LTS 版本最长会有 30 个月的维护时间,之后将不再进行维护。

版本的生命周期图(2022-2025):

(图片来自:Node.js[5])

三、Current 版本

Current 即最新发布版本,该版本专注于必要功能的开发和现有 API 的完善,具有较短的寿命和更频繁的代码更新。你可以在该版本体验到最新功能,也可以能遇到各种意想不到的问题和兼容性要处理。通常 Current 版本会在每 6 个月发布一次大版本(特殊情况除外):

  • 每年 4 月份发布新的偶数版本;
  • 每年 10 月份发布新的奇数版本。

(图片来自:Node.js releases[6])

详细的版本更新记录,可以查看Node.js releases[7]。

四、如何选择合适的版本?

  • 使用 「LTS」 版本

一般用于生产环境,重点在于稳定,如果你需要稳定性并拥有复杂的生产环境(例如中型或大型企业),建议使用 「LTS」 版本。

  • 使用 「Current」 版本

一般用于测试环境,如果你是为了尝试新的版本和新特性(比如 ECMAScript 新特性),或者能够在不干扰环境的情况下快速轻松地升级版本,建议使用 「Current」 版本。

五、总结

本文主要聊一下 Node.js 中 LTS 和 Current 的区别和如何选择合适的版本,在实际开发中,并不需要及时更新到最新版本,我们完全可以按照项目技术栈依赖的最低 Node.js 版本决定是否升级,如果条件允许,还是建议至少把大版本升级到最新的 LTS 版本。

参考文章:

  1. 版本之间的区别[8]

Reference

[1]

Node.js: https://nodejs.org/

[2]

Chrome V8: https://v8.dev/

[3]

Nodejs: https://nodejs.org/en/

[4]

语义化版本: https://semver.org/

[5]

Node.js: https://nodejs.org/en/about/releases/

[6]

Node.js releases: https://nodejs.org/en/download/releases/

[7]

Node.js releases: https://nodejs.org/en/download/releases/

[8]

版本之间的区别: https://vue3.chengpeiquan.com/guide.html#版本之间的区别

0 人点赞