国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js v8.0.0正式發布!看看帶來了哪些主要新特性

2019-11-19 16:26:03
字體:
來源:轉載
供稿:網友

前言

Node.js于5月30號在其官方博客上發布了Node.js v8.0.0。這一版本將成為當前的長期維護版本,從2017年10月開始到2019年12月31號。而Node.js v6.0.0將會在2018年4月進入維護模式,并于2019年4月結束。

最新發布的版本代號為Carbon,帶來了很多重要的特性改進和一些全新的特性。

引入async_hooks模塊

新引入實驗性模塊async_hooks(之前叫作async_wrap),它包含了一組用于診斷的API,開發人員可以用它監控Node.js事件循環里的各種操作,跟蹤句柄對象全生命周期的事件。可以通過該模塊的createHooks方法注冊用于處理句柄對象生命周期各個階段事件的函數。

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

更多關于這個新模塊的內容可以查看文檔和它的開發進度情況。

引入N-API

Node.js API(N-API)為開發人員提供了一組新的實驗性API,用于開發原生插件。它獨立于底層的JavaScript運行時,并作為Node.js的一部分進行維護。引入N-API的主要目的是提供一套與虛擬機無關的應用二進制接口(ABA),這樣插件只要編譯一次就可以運行在各種版本的Node.js上,甚至包括來自其他公司的虛擬機,比如微軟的Chakra Core。

N-API也是一個實驗特性,更多有關N-API的信息可以參考官方文檔。開發人員現在就可以使用這套API,并可以提供反饋以便更好地改進API。

Buffer安全性的改進

在v8.0.0之前,Buffer是通過new Buffer(num)方法來分配的,并沒有使用零值來初始化內存空間,新建的Buffer對象可能包含敏感數據,會導致安全問題。

不過,使用Buffer(num)構造函數創建出來的對象對性能有一點影響,如果開發人員更加看重性能,那么可以使用Buffer.allocUnsafe(num)來創建一個未初始化內存的對象。

// 使用零值初始化過的對象const safeBuffer1 = Buffer.alloc(10);const safeBuffer2 = new Buffer(10);// 未初始化的對象const unsafeBuffer = Buffer.allocUnsafe(10);

升級V8引擎到5.8版本

升級V8引擎帶來了更好的性能和更多面向開發人員的API。V8 5.8可以保證ABA兼容5.9和即將到來的6.0,從而確保Node.js原生插件的穩定性。后續還會逐步將引擎升級到5.9和6.0。

升級引擎還意味著新的編譯器管道――TurboFan和Ignition。Ignition是V8引擎的解釋器,TurboFan是優化編譯器,雖然它們在之前就已存在,但把它們作為默認的組合還是首次(將在V8 5.9里實現)。這是一個重大的轉變,將為性能帶來極大的提升。

升級npm到5.0.0

Node.js v8.0.0包含了最新的npm 5.0.0,其主要特性如下。

  • 新的標準化文件鎖機制。
  • 不再需要--save,所有的安裝都是默認保存的。
  • node-gyp現在支持Windows。
  • 新的發布包含SHA512和SHA1校驗和檢查。

更多有關npm 5.0.0的新特性可以參考npm的文檔

Node.js v8.0.0還包括子進程、控制臺、文件系統、流、HTTP、TLS、URL等方面的改進。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永福县| 淄博市| 邮箱| 边坝县| 武平县| 汪清县| 突泉县| 库尔勒市| 醴陵市| 乌鲁木齐县| 海原县| 五河县| 华蓥市| 卓尼县| 泰顺县| 维西| 黎城县| 缙云县| 稷山县| 宣城市| 扎兰屯市| 宽城| 郯城县| 东港市| 波密县| 泸西县| 衡东县| 永年县| 黄冈市| 综艺| 鄱阳县| 保德县| 德格县| 丹棱县| 时尚| 灵台县| 札达县| 米泉市| 西林县| 柘城县| 辽源市|