首頁 > web前端 > 前端問答 > node版本14與10的差別是什麼

node版本14與10的差別是什麼

WBOY
發布: 2022-07-06 16:37:58
原創
2765 人瀏覽過

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

node版本14與10的差別是什麼

本文操作環境:Windows10系統、nodejs 10&&node 14版、Dell G3電腦。

node版本14與10的差異是什麼

Node 10

  • vm: add dynamic import support。支援動態的 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 擴展連接協定支持,以允許透過 HTTP/2 使用 WebSockets。

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

  • Adding Error Codes。現在,Node中的錯誤訊息已標準化。

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

Node文件將 N-API 描述為建立本機外掛程式的 API。它獨立於底層的 JavaScript 運行時(ex V8),並作為 Node.js 本身的一部分進行維護。這個 API 將是跨 Node.js 版本穩定的應用程式二進位介面(ABI)。它旨在將 Addons 與基礎 JavaScript 引擎中的更改隔離,並允許為一個版本編譯的模組在更高版本的 Node.js 上運行,而無需重新編譯。

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

  • ##改進了診斷追蹤。 Node 10 新增了追蹤事件,為開發人員提供更多關於其Node.js應用程式可見性。在啟動 node 應用時,新增參數 --trace-event-categories可以將其打開,可以在文件中了解更多

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

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

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

  • 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#.可以直接使用ES Modules 但是會報警,Node 14 後可以使用且不警報了。

V8 升級到8.1
  • #ArrayBuffer 使用新的V8 ArrayBuffer API
  • openssl sources 更新到1.1.1
  • Console groupIndentation option。 console 可以配置超過兩個空格的長度。
  • 推薦學習:《
  • nodejs影片教學

以上是node版本14與10的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板