在nodejs中,lts是長期支援的意思,是「Long Time Support」的縮寫;Node有奇數版本和偶數版本兩條發布流程線,當一個奇數版本發布後,最近的一個偶數版本會立即進入LTS維護計劃,一直持續18個月,在之後會有12個月的延長維護期,lts期間可以支援「bug fix」變更。
本文操作環境:Windows10系統、nodejs 12.19.0版、Dell G3電腦。
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是什麼意思的詳細內容,更多請關注本站其它相關文章!