開源跨平臺JavaScript執行環境釋出最新的Node.js 20.6,這個版本有兩大重點,其一是支援.env配置檔,第二個則是Node.js C++擴充套件,現在實驗性支援V8中的C++垃圾回收函式庫Oilpan。另外,模組系統也加入新API,讓開發者可以自定義模組載入和解析行為。

開發者在新版本Node.js中,可以開始使用.env檔配置環境變數。.env檔是一種用來儲存專案環境變數的配置文件,該文件通常會儲存像是資料庫連線資訊,或是第三方API金鑰等敏感資料。在Node.js中,配置文件遵循INI檔案格式,每一行包含環境變數的鍵值對。

過去開發者其實也可以用類似的方法配置環境,但需要仰賴第三方函式庫dotenv,而從20.6版本開始,Node.js原生支援.env檔案,開發者可以直接使用該功能。

另外,Node.js C++擴充套件現在支援V8中的C++垃圾回收函式庫Oilpan,並向開發者提供新的工具和指南,以便更好地整合和管理C++與JavaScript間的物件和資源。也就是說,在20.6之後,Node.js添加一種新穎且更有效率的C++記憶體管理方法,不過,原有方法仍然可用。

V8團隊在2021年釋出Oilpan,其特點在於提供一種追蹤垃圾收集機制,能夠透過標記物件來確定活物件,並於回收階段回收死掉的物件,Oilpan也支援對某些物件進行堆碎片整理(Compaction)功能。整體來說,Oilpan簡化了程式開發模型,有助解決記憶體洩漏和使用後釋放的問題。

現在替Node.js應用程式編寫C++擴充套件的開發者,也可以使用Oilpan,但官方提醒,Node.js只是打包了來自V8的Oilpan函式庫,他們無法保證ABI(Application Binary Interface)穩定性,但是因為Oilpan在Chromium中經歷多年考驗,他們也認為不太可能會破壞ABI。之後當Oilpan有足夠多的外部和內部採用時,官方便會考慮將其列入ABI穩定性保證中。

Node.js 20.6也在其模組系統加入了一個新的API,提供新方法讓開發者可以指定檔案,自定義模組的Hook,這項新功能提供了一個靈活且強大的方法,允許開發者自定義模組載入和解析行為,並且在主應用執行緒和自定義Hook執行緒間,建立溝通管道。

熱門新聞

Advertisement