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 檔案載入環境變數:
node --env-file=.env index.js
您也可以透過兩次傳遞標誌來載入多個檔案:
node --env-file=.env --env-file=config.env index.js
有些人報告說,透過移除 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
標誌。如果您希望在監視模式重新啟動進程時防止清除控制台輸出,可以使用此標誌。
node --env-file=.env index.js
執行 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中文網其他相關文章!

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!