溫馨提示×

溫馨提示×

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

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

node版本14與10的區(qū)別有哪些

發(fā)布時間:2022-07-07 09:51:08 來源:億速云 閱讀:1014 作者:iii 欄目:web開發(fā)

本篇內容介紹了“node版本14與10的區(qū)別有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

node版本14與10的區(qū)別:1、10版本停止使用Chromium中的V8引擎,使用V8的6.6版本,而14版本使用的V8升級到了8.1版本;2、14版本可以直接使用“ES Modules”并且不會報警,而10版本中則不能使用。

本文操作環(huán)境:Windows10系統(tǒng)、nodejs 10&&node 14版、Dell G3電腦。

node版本14與10的區(qū)別

Node 10

  • vm: add dynamic import support。支持動態(tài)的 import。

但 ES 模塊仍舊屬于實驗性質,并不能在代碼中直接使用 import/export 除非開啟實驗性質的 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 擴展連接協(xié)議支持,以允許通過 HTTP/2 使用 WebSockets。

Node 8 引入了一個實驗性的 HTTP/2 模塊,這次是對 Node 的一次很好的升級。 HTTP/2 改進了標準的 HTTP 協(xié)議,有著多路復用,單一連接,服務器推送,頭壓縮等先進處,此次還修復了一些安全性的問題,并且還加上 websocket 的支持。

  • Adding Error Codes。現(xiàn)在,Node中的錯誤信息已被標準化。

  • The n-api is no longer experimental. [cd7d7b15c1]。N-API 不再是實驗性功能

Node文檔將 N-API 描述為構建本地插件的 API。 它獨立于底層的 JavaScript 運行時(ex V8),并作為 Node.js 本身的一部分進行維護。 這個 API 將是跨 Node.js 版本穩(wěn)定的應用程序二進制接口(ABI)。 它旨在將 Addons 與基礎 JavaScript 引擎中的更改隔離,并允許為一個版本編譯的模塊在更高版本的 Node.js 上運行,而無需重新編譯。

  • patch V8 to 6.6.346.24。Node 停止使用 Chromium 中的 V8 引擎,而使用 v8 的 6.6 版本,

  • 改進了診斷追蹤。Node 10 添加了跟蹤事件,為開發(fā)人員提供更多關于其Node.js應用程序可見性。在啟動 node 應用時,添加參數(shù) --trace-event-categories可以將其打開,可以文檔里了解到更多

  • update npm to 6.14.3。更新 NPM 6,npm的這一版本增加了所有各種改進,包括性能,安全性和穩(wěn)定性

  • upgrade openssl sources to 1.1.1e。Node配備了現(xiàn)代加密支持,可支持備受期待的 ChaCha20 密碼和 Poly1305 驗證器

  • fs: remove experimental warning for fs.promises。fs 可直接使用 promise 了,不再需要像 Node 8 中使用 util.promisify()函數(shù)進行轉換。

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) {
      // 如果文件已打開,則關閉文件。
      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 但是會報警,Node 14 后可以使用并且不報警了。

  • V8 升級到 8.1

  • ArrayBuffer 使用新的 V8 ArrayBuffer API

  • openssl sources 更新到 1.1.1

  • Console groupIndentation option。console 可以配置超過兩個空格的長度。

“node版本14與10的區(qū)別有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

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

AI