最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

全面解析Node.js 8 重要功能和修復(fù)

 更新時(shí)間:2017年06月02日 16:40:51   作者:葡萄城控件技術(shù)團(tuán)隊(duì)  
5月30日12點(diǎn),Node.js 8正式發(fā)布了,這個(gè)版本具有一系列新功能和性能改進(jìn),并且這些功能和改進(jìn)將獲得長期支持(LTS)。下面就來介紹Node.js 8版本中最重要的功能和修復(fù)

5月30日12點(diǎn),Node.js 8正式發(fā)布了,這個(gè)版本具有一系列新功能和性能改進(jìn),并且這些功能和改進(jìn)將獲得長期支持(LTS)。

下面就來介紹Node.js 8版本中最重要的功能和修復(fù)。

新版本的代號(hào)是Carbon。Node.js 8將從2017年10月起,正式成為當(dāng)前的LTS版本,并持續(xù)到2019年12月31日。這也意味著Node.js 6版本將在2018年4月進(jìn)入到維護(hù)模式,并在2019年4月結(jié)束維護(hù)支持。

下載Node.js 8版本:https://nodejs.org/download/rc/v8.0.0-rc.2/

Async Hooks API 介紹

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

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

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

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

createHooks函數(shù)的注冊功能會(huì)被每一個(gè)異步操作的不同生命周期事件調(diào)用。

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

了解更多Async Hooks,或查看正在進(jìn)行的工作文檔。這些函數(shù)將會(huì)根據(jù)處理程序?qū)ο蟮纳芷谑录x擇性觸發(fā)。

N-API 介紹

N-API是用于構(gòu)建原生插件的API。它獨(dú)立于底層JavaScript運(yùn)行時(shí),并作為Node.js自身的一部分進(jìn)行維護(hù)。這么做的目的是保證應(yīng)用程序二進(jìn)制接口(ABI)在不同Node.js版本之間能夠保持穩(wěn)定。

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

了解更多N-API信息。

Node.js 8 中的緩沖區(qū)安全性改進(jìn)

在Node.js 8版本之前,使用new Buffer(Number)構(gòu)造函數(shù)分配的緩沖區(qū)并未使用ZEROS初始化內(nèi)存空間。結(jié)果導(dǎo)致新的Buffer實(shí)例可能包含敏感信息,容易導(dǎo)致安全問題。

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

將 V8 升級到 5.8:TurboFan & Ingnition

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

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

“Ignition和TurboFan的聯(lián)合使用已經(jīng)開發(fā)了近3½年,它代表了V8團(tuán)隊(duì)集體認(rèn)識(shí)的最終結(jié)果,是V8團(tuán)隊(duì)收集了JavaScript的實(shí)測性能并仔細(xì)分析了Full-codegen的缺點(diǎn)和Crankshaft的結(jié)果。這也是能夠在未來幾年內(nèi)繼續(xù)優(yōu)化JavaScript語言體系的基礎(chǔ)?!?- Daniel Clifford和V8團(tuán)隊(duì)

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

這個(gè)管道的最大問題是,新的語言功能必須在管道的不同部分實(shí)現(xiàn),這就增加了大量額外的開發(fā)工作。

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

新管道大大降低了V8團(tuán)隊(duì)的技術(shù)負(fù)擔(dān),并實(shí)現(xiàn)了很多之前無法實(shí)現(xiàn)的改進(jìn)。

了解更多TurboFan and Ignition 和 TurboFan Inlining Heuristics 。

將 npm 升級到 5.0.0

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

新 npm 版本的亮點(diǎn):

  • 一種新的標(biāo)準(zhǔn)化的鎖定文件功能,用于跨包管理器的兼容性(package-lock.json),以及一種用于shrinkwrap的新格式和語義
  • --save 已經(jīng)不再需要了,因?yàn)樗械陌惭b將默認(rèn)保存
  • node-gyp現(xiàn)在支持Windows的node-gyp.cmd
  • 新的發(fā)布版本將會(huì)包括sha512和sha1校驗(yàn)

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

Buffer

Buffer方法現(xiàn)在接受Uint8Array作為輸入

Child Process

  • Argument和Kill信號(hào)驗(yàn)證得到改善
  • Child Process方法接受Uint8Array作為輸入

Console

使用控制臺(tái)方法時(shí),錯(cuò)誤事件發(fā)送現(xiàn)在受到了抑制

Domains

Native Promise實(shí)例現(xiàn)在是域感知的

文件系統(tǒng)

  • 實(shí)用程序類fs.SyncWriteStream已被棄用
  • 已棄用的fs.read( )字符串接口已被刪除

HTTP

溢出的Cookie headers會(huì)被連接成一個(gè)字符串

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

Stream

Stream現(xiàn)在支持destroy( )和_destroy( ) API

TLS

該rejectUnauthorized選項(xiàng)現(xiàn)在默認(rèn)為true

URL

WHATWG URL的實(shí)現(xiàn),現(xiàn)在是Node.js API完全支持的

Node.js 8 下一步要做什么

Node.js 8版本令我們興奮,因?yàn)樗撕芏嘤腥さ奶嵘鏏sync Hooks API,這些API在當(dāng)前的文檔狀態(tài)是很難掌握的。我們將盡快開始使用新版本,并盡快提供給用戶新功能的更詳細(xì)說明。

相關(guān)文章

  • 基于node.js之調(diào)試器詳解

    基于node.js之調(diào)試器詳解

    下面小編就為大家?guī)硪黄趎ode.js之調(diào)試器詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 使用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文)

    使用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文)

    這篇文章主要介紹了用Node.js實(shí)現(xiàn)ORM的一種思路詳解(圖文),需要的朋友可以參考下
    2017-10-10
  • 深入理解Node.js回調(diào)函數(shù)

    深入理解Node.js回調(diào)函數(shù)

    這篇文章主要介紹了Node.js回調(diào)函數(shù),為了解決回調(diào)函數(shù)的缺點(diǎn),出現(xiàn)了一些替代方案,如Promise、async/await等,這些方案提供了更簡潔、可讀性更高的代碼結(jié)構(gòu),使異步編程更加容易和可維護(hù),需要的朋友可以參考下
    2023-11-11
  • NodeJS處理Express中異步錯(cuò)誤

    NodeJS處理Express中異步錯(cuò)誤

    本文主要闡述如何在 Express 中使用錯(cuò)誤處理中間件(error-handling middleware)來高效處理異步錯(cuò)誤。在 Github 上有對應(yīng) 代碼實(shí)例 可供參考。
    2017-03-03
  • windows系統(tǒng)下安裝yarn的詳細(xì)教程

    windows系統(tǒng)下安裝yarn的詳細(xì)教程

    yarn是一個(gè)新的JS包管理工具,它的出現(xiàn)是為了彌補(bǔ)npm的一些缺陷,下面這篇文章主要給大家介紹了關(guān)于windows系統(tǒng)下安裝yarn的詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Node.js 使用 Express-Jwt和JsonWebToken 進(jìn)行Token身份驗(yàn)證的操作方法

    Node.js 使用 Express-Jwt和JsonWebToken 進(jìn)行Token身份

    這篇文章主要介紹了Node.js 使用 Express-Jwt和JsonWebToken 進(jìn)行Token身份驗(yàn)證的操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Node.js成為Web應(yīng)用開發(fā)最佳選擇的原因

    Node.js成為Web應(yīng)用開發(fā)最佳選擇的原因

    本篇文章給大家詳細(xì)分析了Node.js 成為 Web 應(yīng)用開發(fā)最佳選擇的十個(gè)原因,對此有需要的朋友參考下。
    2018-02-02
  • node npm yarn報(bào)錯(cuò)error:不是內(nèi)部或外部命令

    node npm yarn報(bào)錯(cuò)error:不是內(nèi)部或外部命令

    文章介紹了如何安裝和配置Node.js、npm和yarn,并解決無法正常使用的問題,主要步驟包括:正確安裝環(huán)境變量、配置用戶變量和系統(tǒng)變量、設(shè)置全局安裝模塊和緩存目錄的環(huán)境變量,以及手動(dòng)配置yarn的環(huán)境變量
    2024-11-11
  • nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求

    nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求

    這篇文章主要介紹了nodejs實(shí)現(xiàn)HTTPS發(fā)起POST請求的實(shí)例代碼,非常的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-04-04
  • Node.js中利用js-xlsx處理xlsx文件的實(shí)現(xiàn)

    Node.js中利用js-xlsx處理xlsx文件的實(shí)現(xiàn)

    js-xlsx庫是目前Github上star數(shù)量最多的處理Excel的庫,本文介紹用 Node.js中的js-xls庫來處理Excel文件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評論

大田县| 海淀区| 日照市| 灌南县| 托克逊县| 娱乐| 泽州县| 漳浦县| 修文县| 杭锦后旗| 嘉祥县| 大余县| 舒城县| 龙江县| 阳朔县| 柳江县| 东辽县| 抚松县| 乐东| 田东县| 安泽县| 印江| 湘潭市| 威信县| 广丰县| 汽车| 襄城县| 岚皋县| 南阳市| 临夏市| 兰西县| 蒲城县| 会昌县| 和政县| 苏尼特右旗| 平江县| 莱芜市| 冕宁县| 铁岭市| 琼海市| 共和县|