跳至主要内容

V8 ❤️ Node.js

· 閱讀時間約 3 分鐘
Franziska Hinkelmann, Node Monkey Patcher

Node.js 的受歡迎程度在過去幾年中穩步增長,我們一直致力於讓 Node.js 表現得更好。本篇文章突顯了在 V8 和 DevTools 中的一些近期努力。

在 DevTools 中調試 Node.js

您現在可以使用 Chrome 開發者工具調試 Node 應用程式。Chrome DevTools 團隊將實現調試協議的源代碼從 Chromium 移至 V8,從而使 Node Core 更容易保持調試器的源代码和依賴項的最新狀態。其他瀏覽器供應商和 IDE 也使用 Chrome 調試協議,共同改善開發者在使用 Node 時的體驗。

ES2015 性能提升

我們正在努力使 V8 比以前更快。我們最近的性能工作主要集中在 ES6 的功能,包括 promises、生成器、析構函數以及剩餘/展開運算符。由於 Node 6.2 及其之後的版本中 V8 完全支持 ES6,Node 開發者可以直接使用新語言功能,而無需使用 polyfill。因此,Node 開發者往往是第一批從 ES6 性能改進中受益的人。同樣地,他們也是最早發現性能回歸的人。得益於一個細心的 Node 社群,我們找到了並修復了一些回歸問題,包括 instanceofbuffer.length長參數列表let/const 的性能問題。

即將針對 Node.js vm 模組和 REPL 修復

vm 模組一直以來存在一些長期問題。為了妥善解決這些問題,我們擴展了 V8 API 以實現更直觀的行為。我們很高興地宣布,vm 模組改進是我們作為導師在Node 基金會的 Outreachy 專案中支持的項目之一。我們期待在不久的將來在這個專案及其他專案上看到更多進展。

async/await

使用同步函數,您可以通過依次等待 promises 來根本簡化非同步程式碼的編寫程式。async/await 將與下一次 V8 更新一起登陸 Node。我們最近在改進 promises 和生成器性能方面的工作幫助同步函數變得更快。在相關工作中,我們也正在提供promise hooks,這是一組需要用於Node 非同步 Hook API的內省 API。

想嘗試最新的 Node.js 嗎?

如果您急於嘗試 Node 中最新的 V8 功能,並且不介意使用最新但不穩定的軟體,您可以嘗試我們的整合分支這裡V8 被持續整合到 Node,在 V8 敲定進入 Node.js 之前,我們便可以提早發現問題。打個招呼,這比 Node.js 的頂部分支還要更具實驗性。