Node.js 的效能提升及新功能:與 Deno 和 Bun 競爭
許多人熱衷於討論新型 JavaScript 運行時的速度,這間接地(有時直接地)暗示 Node.js 速度較慢或缺乏某些集成功能。 Deno 2 和 Bun 的發展模式表明,它們旨在成為建立 JavaScript 應用程式的一體化工具包。它們:
使用 Node.js 需要使用第三方工具來完成這些任務,例如使用 dotenv 來載入 .env 檔案。
然而,Node.js 也一直在迎頭趕上。本文將重點介紹自 20 或 22 版本以來新增的眾多功能中的三個。讓我們開始吧。
許多人都依賴 dotenv 來載入環境檔案。我們會寫 require('dotenv').config()
或 import 'dotenv/config'
,然後從 process.env
存取值。從 20.6.0 版本開始,您可以使用 --env-file
標誌來指定 Node.js 應該從中載入環境變數的檔案。
例如,以下命令將從 .env 檔案載入環境變數:
<code class="language-bash">node --env-file=.env index.js</code>
您也可以透過兩次傳遞標誌來載入多個檔案:
<code class="language-bash">node --env-file=.env --env-file=config.env index.js</code>
有些人報告說,透過移除 dotenv 套件並直接使用 Node.js,他們的應用程式效能得到了提升。以下是 Wes Bos 關於他的應用程式啟動時間從 1300 毫秒縮短到 1 毫秒的推文:
我相信您已經使用過不同的工具來監視您的原始文件,並在更改程式碼時重新啟動應用程式。我們已經透過各種方式完成了這項工作,其中一種是使用 nodemon,這是一個實用程序,它監視來源檔案中的變更並自動重新啟動伺服器。
從 18.11.0 和 16.19.0 版本開始,node
CLI 獲得了兩個用於執行此操作的新標誌:--watch
和 --watch-path
。運行 node --watch index.js
將以監視模式啟動應用程序,並將監視入口點和任何必要或導入的模組。您應該使用 --watch-path
標誌來指定要監視的路徑,而不是入口檔案及其匯入的模組。
還有一個與監視模式相關的標誌:--watch-preserve-output
標誌。如果您希望在監視模式重新啟動進程時防止清除控制台輸出,可以使用此標誌。
<code class="language-bash">node --env-file=.env index.js</code>
雖然 Node.js 沒有內建的套件管理器,但大多數安裝通常都捆綁了 npm。您已經從各種套件管理器中使用了 npm run
或類似的命令來執行在 package.json
中定義的腳本。這不是問題,但 Bun 和 Deno 吹噓啟動和運行 package.json
腳本所需的時間,這可能使 Node 團隊重新考慮了這個選項。
從 22.0.0 版本開始,Node.js 現在可以透過 --run
標誌來運行腳本,例如 node --run dev
。這不僅僅是替換 npm run
而不帶來任何好處和限制。使用 node --run
已被證明比 npm run
指令更快。故意排除的其他運行實現的一些功能包括:
您可以在文件中閱讀更多關於此標誌的資訊。
本文探討了 Node.js 的最新改進,這些改進使其更接近 Deno 2 和 Bun 提供的整合功能。我們檢查了以下功能:
--env-file
標誌載入 .env 檔案--watch
和 --watch-path
標誌提供的本地文件監視功能--run
標誌提供了一種更快的運行 package.json
腳本的方法這些更新有助於 Node.js 透過減少對第三方工具的需求以及提高效能、安全性和可用性來趕上其他執行時間。
原文由我在 Telerik 部落格上發佈
以上是你不知道的 ode.js 功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!