91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js8重要功能和修復內容有哪些

發布時間:2022-12-01 11:06:32 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Node.js8重要功能和修復內容有哪些”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Node.js8重要功能和修復內容有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Async Hooks API 介紹

Async Hooks (以前稱為AsyncWrap) API允許獲取有關句柄對象生命周期的結構跟蹤信息。

API發出的消息會將Node.js中所有句柄對象的生命周期告知給consumer。它試圖解決類似于continuation-local-storage npm package這樣的問題。

如果你正在使用continuation-local-storage,那么已經可以用稱為cls-hook的async hooks來代替使用了 – 只是目前并不是使用async hooks的最好時機,所以需要謹慎使用!

Async Hooks API 在 Node.js 8 中如何工作

createHooks函數的注冊功能會被每一個異步操作的不同生命周期事件調用。

const asyncHooks = require('async_hooks')
asyncHooks.createHooks({ 
 init,
 pre,
 post,
 destroy
})

這些函數將會根據處理程序對象的生命周期事件選擇性觸發。

N-API 介紹

N-API是用于構建原生插件的API。它獨立于底層JavaScript運行時,并作為Node.js自身的一部分進行維護。這么做的目的是保證應用程序二進制接口(ABI)在不同Node.js版本之間能夠保持穩定。

N-API的目的是將附加組件和基礎JavaScript引擎中的更改區分開,以便原生插件在不需要重新編譯情況下,就可以運行不同的Node.js版本。

Node.js 8 中的緩沖區安全性改進

在Node.js 8版本之前,使用new Buffer(Number)構造函數分配的緩沖區并未使用ZEROS初始化內存空間。結果導致新的Buffer實例可能包含敏感信息,容易導致安全問題。

雖然這是一個用于提高創建新Buffer性能的決定,但是對大多數人來說,并不打算這么使用。因此從Node.js 8開始,使用new Buffer(Number)或Buffer(Number)分配的Buffers會被ZEROS自動填充。

將 V8 升級到 5.8:TurboFan & Ingnition

使用Node.js 8版本,底層的V8 JavaScript引擎也會更新。

對于Node.js用戶來說,最大的變化就是引入TurboFan和Ignition。Ignition是V8的解釋器,TurboFan是優化編譯器。

“Ignition和TurboFan的聯合使用已經開發了近3½年,它代表了V8團隊集體認識的最終結果,是V8團隊收集了JavaScript的實測性能并仔細分析了Full-codegen的缺點和Crankshaft的結果。這也是能夠在未來幾年內繼續優化JavaScript語言體系的基礎。“ - Daniel Clifford和V8團隊

目前V8的編譯管道如下圖所示。

Node.js8重要功能和修復內容有哪些

這個管道的最大問題是,新的語言功能必須在管道的不同部分實現,這就增加了大量額外的開發工作。

下面是簡化的管道,沒有了FullCode Generator和Crankshaft:

Node.js8重要功能和修復內容有哪些

新管道大大降低了V8團隊的技術負擔,并實現了很多之前無法實現的改進。

將 npm 升級到 5.0.0

新的Node.js 8版本還附帶npm 5 - 最新版本的npm CLI。

新 npm 版本的亮點:

  • 一種新的標準化的鎖定文件功能,用于跨包管理器的兼容性(package-lock.json),以及一種用于shrinkwrap的新格式和語義

  • --save 已經不再需要了,因為所有的安裝將默認保存

  • node-gyp現在支持Windows的node-gyp.cmd

  • 新的發布版本將會包括sha512和sha1校驗

Node.js 8 版本中的其它顯著改變

Buffer

Buffer方法現在接受Uint8Array作為輸入

Child Process

  • Argument和Kill信號驗證得到改善

  • Child Process方法接受Uint8Array作為輸入

Console

使用控制臺方法時,錯誤事件發送現在受到了抑制

Domains

Native Promise實例現在是域感知的

文件系統

  • 實用程序類fs.SyncWriteStream已被棄用

  • 已棄用的fs.read( )字符串接口已被刪除

HTTP

溢出的Cookie headers會被連接成一個字符串

該httpResponse.writeHeader( )方法已被棄用

Stream

Stream現在支持destroy( )和_destroy( ) API

TLS

該rejectUnauthorized選項現在默認為true

URL

WHATWG URL的實現,現在是Node.js API完全支持的

讀到這里,這篇“Node.js8重要功能和修復內容有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六盘水市| 长白| 稻城县| 诸暨市| 呼玛县| 府谷县| 厦门市| 昌平区| 老河口市| 临汾市| 莒南县| 乳源| 阿鲁科尔沁旗| 栾川县| 平阳县| 永城市| 营山县| 中西区| 南靖县| 武陟县| 汝州市| 波密县| 葵青区| 锡林浩特市| 长宁县| 阳谷县| 浙江省| 乌什县| 扎兰屯市| 苏州市| 句容市| 中阳县| 工布江达县| 金阳县| 集安市| 桂林市| 兴和县| 南江县| 吉木萨尔县| 东至县| 弥渡县|