Node.js是一個基于 Chrome V8 引擎的 JavaScript 運行時環境。 在我們日常開發中,Node.js 使用場景越來越多,大到服務端項目,小到開發工具腳本,所以掌握 Node.js 一些基礎知識是非常有必要的。 今天主要聊一下 Node.js 中 LTS 和 Current 的區別和如何選擇合適的版本。
一、版本介紹
在官網上可以看到 Node.js 有 LTS 系列和 Current 系列,分別對應不同的最新版本號。
(本圖來自:Nodejs)
Node.js 的版本號命名遵循語義化版本(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)
三、Current 版本
Current 即最新發布版本,該版本專注于必要功能的開發和現有 API 的完善,具有較短的壽命和更頻繁的代碼更新。 你可以在該版本體驗到最新功能,也可以能遇到各種意想不到的問題和兼容性要處理。 通常 Current 版本會在每 6 個月發布一次大版本(特殊情況除外):
- 每年 4 月份發布新的偶數版本;
- 每年 10 月份發布新的奇數版本。
(圖片來自:Node.js releases)
詳細的版本更新記錄,可以查看Node.js releases。
四、如何選擇合適的版本?
- 使用 「LTS」 版本
一般用于生產環境,重點在于穩定,如果你需要穩定性并擁有復雜的生產環境(例如中型或大型企業),建議使用 「LTS」 版本。
- 使用 「Current」 版本
一般用于測試環境,如果你是為了嘗試新的版本和新特性(比如 ECMAScript 新特性),或者能夠在不干擾環境的情況下快速輕松地升級版本,建議使用 「Current」 版本。
五、總結
本文主要聊一下 Node.js 中 LTS 和 Current 的區別和如何選擇合適的版本,在實際開發中,并不需要及時更新到最新版本,我們完全可以按照項目技術棧依賴的最低 Node.js 版本決定是否升級,如果條件允許,還是建議至少把大版本升級到最新的 LTS 版本。
參考文章: