真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nodejs的lts和current有哪些區(qū)別

這篇文章主要介紹“nodejs的lts和current有哪些區(qū)別”,在日常操作中,相信很多人在nodejs的lts和current有哪些區(qū)別問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”nodejs的lts和current有哪些區(qū)別”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

南川ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!

區(qū)別:Current指的是當(dāng)前發(fā)布的最新node版本,里面包含了最新的功能特性,但會(huì)不穩(wěn)定,會(huì)不定期的進(jìn)行更新優(yōu)化或者修復(fù)問(wèn)題;而LTS指的是長(zhǎng)期支持的node版本,即穩(wěn)定版,里面包含的功能就是穩(wěn)定的。

nodejs的lts和current有哪些區(qū)別

本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。

進(jìn)入到nodejs官網(wǎng)下載https://nodejs.org ,有兩個(gè)版本LTS和Current。有什么區(qū)別呢?該選哪個(gè)呢。當(dāng)然知道區(qū)別就知道要選什么版本了。

LTS和Current區(qū)別總結(jié):其實(shí)從版本號(hào)就可以看出一個(gè)新一個(gè)老。Current就是當(dāng)前最新的版本,最新的功能特性都在這里面了。就是拿來(lái)給你試用測(cè)試的,要是大家都用得還好,功能穩(wěn)定了,就發(fā)布到LTS版本。所以LTS就是穩(wěn)定版。

nodejs的lts和current有哪些區(qū)別

下面就扯扯nodejs的版本計(jì)劃

Node.js LTS 計(jì)劃

Node.js core 在 Node.js 與 io.js 合并后,為了保證發(fā)布穩(wěn)定有序,讓開(kāi)發(fā)者能夠合理安排升級(jí),開(kāi)始使用 LTS(Long Term Support)來(lái)規(guī)劃發(fā)布周期。第一個(gè) LTS 版本是 v4,發(fā)布于 2015 年 10 月。在這個(gè)規(guī)劃下,Node.js 的版本相當(dāng)于 master 分支在特定時(shí)間下經(jīng)過(guò)穩(wěn)定化處理的快照,時(shí)間到了就將 master 分支上穩(wěn)定的部分整合起來(lái),發(fā)布新的版本,因此 Node.js 的發(fā)布是 以時(shí)間的流逝為準(zhǔn),在保證兼容性靠攏的前提下跳版本 ,而不是以兼容性和新特性的多少為準(zhǔn),這也解釋了為什么 Node.js 的版本看上去跳得那么快(不是“啊,我們攢了這么多大招,可以發(fā)新版了!”而是“啊,四月到了該發(fā)版了,我們把攢過(guò)的大招過(guò)一遍,看有什么夠穩(wěn)定能加進(jìn)去的,雖然可能這些招不怎么大就是了……”)。值得一提的是,目前的常青瀏覽器/主流 JavaScript 引擎/ECMAScript 標(biāo)準(zhǔn)/C++ 標(biāo)準(zhǔn)也是采用類似的原則,以時(shí)間跨度為基準(zhǔn),從主干上截取穩(wěn)定特性來(lái)進(jìn)行發(fā)布的。

每一個(gè) LTS 都會(huì)有一個(gè)代號(hào),從元素周期表取元素名,按照字母表排序,挑選出合適的。v4 的代號(hào)是 Argon(氬),v6 的代號(hào)是 Boron(硼)。

Node.js 的版本命名規(guī)則遵循 語(yǔ)義化版本(Semantic Versioning),版本號(hào)分為三部分,第一個(gè)數(shù)字(semver-major)增加,表示有不兼容的改變;第二個(gè)數(shù)字(semver-minor)增加,表示有保持兼容的新特性;第三個(gè)數(shù)字(semver-patch)增加,表示有在保持兼容性與特性不變的前提下的改動(dòng),比如修復(fù)了 bug 或者改進(jìn)了文檔。這個(gè)命名規(guī)則有利也有弊,此處不贅述,但它的一些矛盾之處使得 Node.js 的命名有一些例外,比如安全更新即使會(huì)導(dǎo)致不兼容,為了能夠更新到所有 major 版本,也依然是 semver-minor。

Node.js 應(yīng)用開(kāi)發(fā)者怎么選擇?

對(duì)于追求穩(wěn)定性的 Node.js 應(yīng)用開(kāi)發(fā)者來(lái)說(shuō),只需要每年十月一個(gè)版本成為 active LTS 的時(shí)候線上跟進(jìn)升級(jí)即可,也就是每 12 個(gè)月升一次 major 版本,每次升級(jí)的版本還有 18 個(gè)月 + 12 個(gè)月的壽命,中間跟進(jìn) minor 和 patch 的時(shí)候不用太擔(dān)心兼容問(wèn)題。目前的推薦是最好在一個(gè) active LTS 出來(lái)的 12 個(gè)月內(nèi)完成線上的升級(jí)(因?yàn)?12 個(gè)月后會(huì)出下一個(gè) active LTS)。進(jìn)度落后的話,妥協(xié)到 18 個(gè)月,這個(gè) LTS 的 active 時(shí)期結(jié)束前也可以。再趕不上,起碼要在 30 個(gè)月內(nèi)這個(gè)版本結(jié)束壽命之前升級(jí)完,否則連安全更新也沒(méi)有了。

擔(dān)心直接升級(jí)遇到的兼容問(wèn)題較多的話,則可以在每年四月偶數(shù)版本新出來(lái)的時(shí)候,提前在線下進(jìn)行測(cè)試和升級(jí)準(zhǔn)備,將問(wèn)題反饋到社區(qū)(當(dāng)然如果沒(méi)空也不需要管這一步),并不斷跟進(jìn),十月再升線上版本。這樣線上下都是 12 個(gè)月升一次 major,只不過(guò)時(shí)間點(diǎn)不同。雖然線下需要跟進(jìn)的兼容性問(wèn)題多了一些,但同時(shí)也可以通過(guò)反饋?zhàn)屪约旱募嫒菪孕枨蟊簧鐓^(qū)照顧到。

熱衷于嘗試新特性,或者不在生產(chǎn)環(huán)境使用的實(shí)驗(yàn)性項(xiàng)目,則可以嘗試每年十月發(fā)布的奇數(shù) major 版本。每個(gè)奇數(shù)版本只會(huì)維護(hù) 8 個(gè)月,而且不會(huì)有 LTS 那樣的兼容性保證,但Node.js 的開(kāi)發(fā)者會(huì)利用這個(gè)版本為下一個(gè) LTS 做準(zhǔn)備,因此它會(huì)有更多大膽的嘗試,比如更頻繁的 v8 更新(意味著更多的 ECMAScript 新特性實(shí)現(xiàn)以及性能優(yōu)化)。

因此,現(xiàn)在還在線上使用 v4.x 的開(kāi)發(fā)者,已經(jīng)可以準(zhǔn)備升級(jí)到 v6.x 了。如果你的線上應(yīng)用還在使用 LTS 計(jì)劃啟用前發(fā)布的版本,如 v0.12.x,也最好抓緊升級(jí)到 v4.x 或者以上,因?yàn)?2016 年 12 月之后 v0.12.x 將不會(huì)再有任何安全更新,更早的版本就更沒(méi)有了,主要是 OpenSSL 的漏洞將不會(huì)被修復(fù),這些應(yīng)用將會(huì)暴露在各種安全風(fēng)險(xiǎn)之下。一旦升級(jí)到 v4.x 或更高,今后的升級(jí)將會(huì)相對(duì)容易許多,平時(shí)只要記得跟進(jìn) minor 或者 patch 即可,或者懶一點(diǎn)的只需要關(guān)注安全更新。

這跟 Node.js 的源代碼是怎么對(duì)應(yīng)的?

首先,Node.js 的 Github Repo 有一個(gè) master 分支,大部分的 commit 是通過(guò) PR 提交到這個(gè)分支上的。根據(jù)這些 commit 是否改變了兼容性或者引入了新特性,它們會(huì)被打上 semver-major 或者 semver-minor 的標(biāo)簽。

在每年四月前需要準(zhǔn)備 LTS 的時(shí)候,Node.js 會(huì)從 master 分支截取一個(gè)新的分支出來(lái),假如這個(gè)是 v6,那么這個(gè)分支就叫 v6.x-staging 。之后與這個(gè) LTS 相關(guān)的修改/打算進(jìn)入這個(gè) LTS 的修改,比如 bug 修復(fù)等,還是提交 PR 到 master ,但需要加一個(gè) tag lts-watch-v6.x 。被合并到 master 之后,這些變動(dòng)會(huì)被負(fù)責(zé)發(fā)布的人挑出來(lái),合并到 v6.x-staging 。當(dāng)?shù)搅怂脑碌哪骋惶欤瑅6 的第一個(gè)版本可以發(fā)布的時(shí)候,負(fù)責(zé)發(fā)布的人會(huì)創(chuàng)建一個(gè) v6.x 分支,從 v6.x-staging 再挑出變更合并進(jìn)來(lái)。從四月到十月,對(duì) v6 的所有修改,無(wú)論是 minor 或者 patch,依然先提交 PR 到 master ,然后再被挑出來(lái)合到 v6.x-staging ,發(fā)版本時(shí)再進(jìn)入 v6.x 。這樣,master 總是保留著最新的變動(dòng)。而其他版本相關(guān)的分支,都是從 master 上挑出適合發(fā)版本的 commit,混合出來(lái)的縮影, v6.x-staging 保留著 v6.x LTS 相關(guān)的修改, v6.x 保留每一次 v6 發(fā)布的版本。除了負(fù)責(zé)處理分支的人以外,其他開(kāi)發(fā)者是不會(huì)動(dòng)這些版本相關(guān)的分支的。

到此,關(guān)于“nodejs的lts和current有哪些區(qū)別”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


分享題目:nodejs的lts和current有哪些區(qū)別
文章網(wǎng)址:http://weahome.cn/article/jpojhj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部