本篇內(nèi)容介紹了“node版本14與10的區(qū)別有哪些”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)江西,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
node版本14與10的區(qū)別:1、10版本停止使用Chromium中的V8引擎,使用V8的6.6版本,而14版本使用的V8升級到了8.1版本;2、14版本可以直接使用“ES Modules”并且不會報(bào)警,而10版本中則不能使用。
本文操作環(huán)境:Windows10系統(tǒng)、nodejs 10&&node 14版、Dell G3電腦。
Node 10
vm: add dynamic import support。支持動(dòng)態(tài)的 import。
但 ES 模塊仍舊屬于實(shí)驗(yàn)性質(zhì),并不能在代碼中直接使用 import/export 除非開啟實(shí)驗(yàn)性質(zhì)的 flag,想使用還是得參見如何在 NodeJS 中寫 ES6 import。
Updated nghttp2 to 1.34.0. This adds RFC 8441 extended connect protocol support to allow use of WebSockets over HTTP/2。將 nghttp2 更新為 1.34.0。這增加了 RFC 8441 擴(kuò)展連接協(xié)議支持,以允許通過 HTTP/2 使用 WebSockets。
Node 8 引入了一個(gè)實(shí)驗(yàn)性的 HTTP/2 模塊,這次是對 Node 的一次很好的升級。 HTTP/2 改進(jìn)了標(biāo)準(zhǔn)的 HTTP 協(xié)議,有著多路復(fù)用,單一連接,服務(wù)器推送,頭壓縮等先進(jìn)處,此次還修復(fù)了一些安全性的問題,并且還加上 websocket 的支持。
Adding Error Codes。現(xiàn)在,Node中的錯(cuò)誤信息已被標(biāo)準(zhǔn)化。
The n-api is no longer experimental. [cd7d7b15c1]。N-API 不再是實(shí)驗(yàn)性功能
Node文檔將 N-API 描述為構(gòu)建本地插件的 API。 它獨(dú)立于底層的 JavaScript 運(yùn)行時(shí)(ex V8),并作為 Node.js 本身的一部分進(jìn)行維護(hù)。 這個(gè) API 將是跨 Node.js 版本穩(wěn)定的應(yīng)用程序二進(jìn)制接口(ABI)。 它旨在將 Addons 與基礎(chǔ) JavaScript 引擎中的更改隔離,并允許為一個(gè)版本編譯的模塊在更高版本的 Node.js 上運(yùn)行,而無需重新編譯。
patch V8 to 6.6.346.24。Node 停止使用 Chromium 中的 V8 引擎,而使用 v8 的 6.6 版本,
改進(jìn)了診斷追蹤。Node 10 添加了跟蹤事件,為開發(fā)人員提供更多關(guān)于其Node.js應(yīng)用程序可見性。在啟動(dòng) node 應(yīng)用時(shí),添加參數(shù) --trace-event-categories可以將其打開,可以文檔里了解到更多
update npm to 6.14.3。更新 NPM 6,npm的這一版本增加了所有各種改進(jìn),包括性能,安全性和穩(wěn)定性
upgrade openssl sources to 1.1.1e。Node配備了現(xiàn)代加密支持,可支持備受期待的 ChaCha20 密碼和 Poly1305 驗(yàn)證器
fs: remove experimental warning for fs.promises。fs 可直接使用 promise 了,不再需要像 Node 8 中使用 util.promisify()函數(shù)進(jìn)行轉(zhuǎn)換。
const fs = require('fs'); const fsPromises = fs.promises; // 同步讀取 console.log(fs.readFileSync('temp.txt', 'utf8')); // promise 讀取,感覺更麻煩了。 async function doRead() { let filehandle = null; try { filehandle = await fsPromises.open('temp.txt', 'r+'); let read = await filehandle.readFile(); console.log(read); } finally { if (filehandle) { // 如果文件已打開,則關(guān)閉文件。 await filehandle.close(); } } } doRead().catch(console.error);
Node 14
ECMAScript Modules - Experimental Warning Removal
In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental.
自 Node 13 開始可以直接使用 ES Modules 但是會報(bào)警,Node 14 后可以使用并且不報(bào)警了。
V8 升級到 8.1
ArrayBuffer 使用新的 V8 ArrayBuffer API
openssl sources 更新到 1.1.1
Console groupIndentation option。console 可以配置超過兩個(gè)空格的長度。
“node版本14與10的區(qū)別有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!