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

溫馨提示×

溫馨提示×

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

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

Node.js 8 的特性有哪些

發布時間:2021-01-18 16:38:49 來源:億速云 閱讀:137 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關Node.js 8 的特性有哪些,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Async Hooks API 簡介

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

API 可以發送消息通知消費者關于 Node.js 中所有句柄對象的生命周期。它可以解決與continuation-local-storage npm package相同的問題,只不過現在可以在 Node 核心代碼中實現。

如果您曾經使用過 continuation-local-storage,那么現在有了 async hooks ,目前有一個替代方案--cls-hooked  ,但目前尚未穩定,因此謹慎使用!

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

createHooks函數可以為每一個異步操作的生命周期注冊鉤子函數。

const asyncHooks = require('async_hooks')

asyncHooks.createHooks({ 
 init,
 pre,
 post,
 destroy
})

這些函數將根據處理程序的生命周期事件觸發。

這里閱讀更多Async Hooks的信息,或者這里查看當前的進度。

N-API 簡介

N-API是用于編寫原生插件的 API。它獨立于底層的 JavaScript 運行環境,但作為 Node.js 本身的一部分進行維護。它的目標是使應用程序二進制接口(ABI)在不同 Node.js 版本之間保持穩定。

N-API的目的是將附加組件與底層JavaScript引擎的更改分開,以便原生組件可以在不同版本的 Node 環境中運行并且不需要重新編譯。

查看更多N-API的相關信息。

Node 8 中 Buffer 安全性的改進

在 Node.js 8之前,用new Buffer(Number)來創建一個Buffer,并未將內存初始化為0。因此,新的緩沖區實例可能包含敏感信息,導致安全問題。

雖然這樣可以使 Buffer 的創建更快,但對于大多數情況來看,這并不可行。因為從 Node.js 8 開始,使用new Buffer(Number) 或者Buffer(Number) 的將會自動將內存置為0.

將V8升級到5.8:為 TurboFan 和Ingnition 做準備

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

它給 Node.js 用戶帶來的最大的變化就是可以在 V8 5.9中引入TurboFan 和 Ignition 。Ignition 是 V8 的解釋器,而 TurboFan 是優化編譯器。


“ Ignition 和 TurboFan 管道已經開發了近3½年。它代表了 V8 團隊通過測量現實 JavaScript 性能并仔細考慮了當前語言中的缺點而獲得的最終結果。這為我們能夠在未來幾年內繼續優化 JavaScript 奠定了基礎。- Daniel Clifford 和 V8 團隊

下面是 Node 8 版本之前的 V8 編譯管道的示例圖

Node.js 8 的特性有哪些

圖片來源:Benedikt Meurer

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

這是簡化的管道外觀,沒有 FullCode Generator 和 Crankshaft:

Node.js 8 的特性有哪些

圖片來源:Benedikt Meurer

這一新管道大大降低了V8團隊的技術負擔,并且實現了以前不可能實現的大量優化。

閱讀更多關于 TurboFan and Ignition和TurboFan Inlining Heuristics

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

?優化參數和 kill 信號校驗

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

Console
?使用 console 發出的錯誤事件現在被限制

Domains
?Native Promise 實例現在是 Domain 敏感的

File System

?實用工具類fs.SyncWriteStream已被棄用

?fs.read()字符串接口已被刪除

HTTP

?傳出的 Cookie 頭連接成一個字符串

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

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

TLS
?rejectUnauthorized選項現在默認為true

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

上述就是小編為大家分享的Node.js 8 的特性有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

裕民县| 东至县| 九龙城区| 桓台县| 茂名市| 岳阳市| 屯留县| 建德市| 额尔古纳市| 洪湖市| 建瓯市| 巴马| 郴州市| 明水县| 建德市| 金塔县| 浮山县| 山东| 禹州市| 文水县| 大渡口区| 介休市| 赤壁市| 南郑县| 博兴县| 浦县| 元阳县| 静海县| 平定县| 宁城县| 金山区| 泽州县| 马边| 阳春市| 黄浦区| 保定市| 曲靖市| 大足县| 临汾市| 高台县| 清镇市|