摘要:再之后會(huì)有個(gè)月的延長維護(hù)期。期間支持的變更嚴(yán)重的,嚴(yán)重的安全問題或者文檔更新。已經(jīng)成為協(xié)議的一個(gè)重大更新,并且正在積極地在上集成。此外,默認(rèn)情況下已禁用和,并且?guī)煲褎h除已棄用的函數(shù)。
前言
時(shí)隔一年,Node.js 12 如約而至,正式發(fā)布第一個(gè) Current 版本。它將從2019年10月開始進(jìn)入長期支持(LTS)版本直到2022年4月。
該版本帶來的新特性:
V8 更新帶來好多不錯(cuò)的特性。
HTTP 解析速度提升。
啟動(dòng)速度大幅提升。
更好的診斷報(bào)告和堆分析工具。
ESM 模塊更新。
LTSNode維護(hù)了著兩條發(fā)布流程線:奇數(shù)版本每年的10月份發(fā)布,偶數(shù)版本第二年的4月份發(fā)布。當(dāng)一個(gè)奇數(shù)版本發(fā)布后,最近的一個(gè)偶數(shù)版本會(huì)立即進(jìn)入LTS維護(hù)計(jì)劃,一直持續(xù)18個(gè)月(LTS Start )。再之后會(huì)有12個(gè)月的延長維護(hù)期(Maintenance Start)。
這兩個(gè)期間可以支持的變更是不一樣的:
LTS期間支持的變更:bug fix,安全問題 fix, 文檔更新和與未來新特性兼容問題的更新。
Maintenanece期間支持的變更: 嚴(yán)重的bug fix,嚴(yán)重的安全問題 fix 或者文檔更新。當(dāng)一個(gè)偶數(shù)版本發(fā)布時(shí),奇數(shù)版本只有2個(gè)月的維護(hù)期,再只能乖乖升級(jí)。
就目前而言,Node.js 6.x 和 8.x 將在 2019 年末結(jié)束 LTS 的支持,大家盡快升級(jí)到 10.x 吧。
ESM自從ES6中的標(biāo)準(zhǔn)化以來,import/ exportsyntax已成為JavaScript開發(fā)人員的首選模塊語法,而Node團(tuán)隊(duì)一直在努力實(shí)現(xiàn)本機(jī)化。實(shí)驗(yàn)性支持從第8階段的Node 8.0開始,并在最新的Node版本上邁出了重要的一步。所有主流瀏覽器都支持 ECMAScript模塊,因此這是Node的一個(gè)巨大更新。
// default exports import module from "module" // named exports import { namedExport } from "module" // namespace exports import * as module from "module"V8引擎更新到7.4
本次版本更新,也帶幾個(gè)不錯(cuò)的特性:
異步堆棧跟蹤
參數(shù)調(diào)用不匹配時(shí)的調(diào)用速度優(yōu)化
更快的 JavaScript 解析速度
更快的 await
ECMAScript 新特性支持隨著 V8 的更新,很多 ES 的新規(guī)范也落地了,比如支持類的私有變量。
class Greet { #name = "World"; get name() { return this.#name; } set name(name) { this.#name = name; } sayHello() { console.log(`Hello, ${this.#name}`); } }
在類的外部或去#name變量會(huì)拋出異常
const greet = new Greet() greet.#name = "NewName"; // -> SyntaxError console.log(greet.#name) // -> SyntaxError改善了啟動(dòng)性能
Node 將在構(gòu)建時(shí)間之前為內(nèi)置庫構(gòu)建代碼緩存并將其嵌入為二進(jìn)制文件。主線程能夠使用此代碼緩存,將啟動(dòng)時(shí)間縮短30%。
HTTP 解析速度提升默認(rèn)的 HTTP 解析器切換為 llhttp ,性能提升顯著
Node 12 現(xiàn)在支持TLS 1.3,它提供更高的安全性和更短的延遲。TLS 1.3已經(jīng)成為協(xié)議的一個(gè)重大更新,并且正在積極地在Web上集成。通過實(shí)施TLS 1.3,Node應(yīng)用程序?qū)⒃黾幼罱K用戶隱私,同時(shí)通過減少HTTPS握手所需的時(shí)間來提高請(qǐng)求性能。此外,默認(rèn)情況下已禁用TLS 1.0和1.1,并且crypto庫已刪除已棄用的函數(shù)。
堆大小分配策略以前使用默認(rèn)的V8堆大小,相當(dāng)于700MB(32位系統(tǒng))或1400MB(64位系統(tǒng))。Node現(xiàn)在將根據(jù)可用內(nèi)存確定堆大小,這將確保它不會(huì)使用超過允許的資源。
堆轉(zhuǎn)儲(chǔ)功能Node 12提供了生成堆轉(zhuǎn)儲(chǔ)的功能,從而可以更輕松地調(diào)查內(nèi)存問題。
其他值得關(guān)注的更新工作線程不再需要標(biāo)志
http已將其默認(rèn)解析器更新為llhttp
assert 驗(yàn)證所需的參數(shù)并調(diào)整松散的斷言
buffer 改進(jìn)使其更穩(wěn)定和安全
async_hooks 刪除已棄用的功能
本文首發(fā)于公眾號(hào)「前端新視界」,分享前端資訊、技術(shù)干貨、編碼人生,歡迎關(guān)注。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/103921.html
摘要:啟動(dòng)速度大幅提升。同時(shí),通過重用主進(jìn)程緩存,的啟動(dòng)速度提升了。在已經(jīng)引入的特性,在里面默認(rèn)啟用,無需使用開啟。相關(guān)介紹診斷報(bào)告提供了新的實(shí)驗(yàn)性功能診斷報(bào)告,一個(gè)非常有用的特性。升級(jí)為,增強(qiáng)安全功能。 前言 時(shí)隔一年,Node.js 12 如約而至,正式發(fā)布第一個(gè) Current 版本。 該版本帶來了諸如: V8 更新帶來好多不錯(cuò)的特性。 HTTP 解析速度提升。 啟動(dòng)速度大幅提升。 更好的...
摘要:作者也樹校對(duì)染陌素材也樹英布阿里云前端技術(shù)周刊由阿里云智能商業(yè)中臺(tái)體驗(yàn)技術(shù)團(tuán)隊(duì)整理編寫。如何在工作中快速成長致工程師的個(gè)簡單技巧工程師成長干貨,全文提綱如下,圖片來自阿里技術(shù)公眾號(hào)關(guān)于我們我們是阿里云智能中臺(tái)體驗(yàn)技術(shù)團(tuán)隊(duì)。 作者:@也樹 校對(duì):@染陌 素材:@也樹、@英布 《阿里云前端技術(shù)周刊》由阿里云智能商業(yè)中臺(tái)體驗(yàn)技術(shù)團(tuán)隊(duì)整理編寫。 知乎:阿里云中臺(tái)前端/全棧團(tuán)隊(duì)專欄 Github...
摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會(huì)進(jìn)行總結(jié)或者分享會(huì)議!那么今天我就...
閱讀 817·2021-10-13 09:39
閱讀 3697·2021-10-12 10:12
閱讀 1741·2021-08-13 15:07
閱讀 1005·2019-08-29 15:31
閱讀 2883·2019-08-26 13:25
閱讀 1776·2019-08-23 18:38
閱讀 1878·2019-08-23 18:25
閱讀 1857·2019-08-23 17:20