首頁 >web前端 >js教程 >你不知道的 ode.js 功能

你不知道的 ode.js 功能

Barbara Streisand
Barbara Streisand原創
2025-01-21 20:34:111042瀏覽

Node.js 的效能提升及新功能:與 Deno 和 Bun 競爭

許多人熱衷於討論新型 JavaScript 運行時的速度,這間接地(有時直接地)暗示 Node.js 速度較慢或缺乏某些集成功能。 Deno 2 和 Bun 的發展模式表明,它們旨在成為建立 JavaScript 應用程式的一體化工具包。它們:

  • 自動載入 .env 檔案
  • 執行 package.json 中的腳本
  • 從 npm 安裝套件
  • 自帶內建 API 用於編寫和運行測試套件
  • 等等

使用 Node.js 需要使用第三方工具來完成這些任務,例如使用 dotenv 來載入 .env 檔案。

然而,Node.js 也一直在迎頭趕上。本文將重點介紹自 20 或 22 版本以來新增的眾多功能中的三個。讓我們開始吧。

載入 .env 檔案

許多人都依賴 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 毫秒的推文:

ode.js Features You Didn’t Know About

監視應用程式檔案

我相信您已經使用過不同的工具來監視您的原始文件,並在更改程式碼時重新啟動應用程式。我們已經透過各種方式完成了這項工作,其中一種是使用 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>

執行 package.json 中的腳本

雖然 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 提供的整合功能。我們檢查了以下功能:

  • 從 20.6.0 版本開始使用 --env-file 標誌載入 .env 檔案
  • 在 18.11.0 和 16.19.0 版本中引入的 --watch--watch-path 標誌提供的本地文件監視功能
  • 從 22.0.0 版本開始可用的 --run 標誌提供了一種更快的運行 package.json 腳本的方法

這些更新有助於 Node.js 透過減少對第三方工具的需求以及提高效能、安全性和可用性來趕上其他執行時間。

原文由我在 Telerik 部落格上發佈

以上是你不知道的 ode.js 功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn