免費軟體資源 soft.registry
⚠ 這是歷史版本頁面 — 查看 Node.js 最新版本 →
Node.js 圖示

Node.js 26.3.0

v 26.3.0
Windows ↔ 也有 macOS 版 開源軟體 8.58/10 (103)
##

編輯短評

Node.js 是一套以 JavaScript 為基礎的開源執行環境,核心設計是「非同步事件驅動」,讓開發者能輕鬆打造可同時處理大量連線的網路應用程式。它與傳統依賴作業系統執行緒的伺服器模型不同,透過事件回呼機制處理併發,幾乎不需要擔心死結問題,寫法上也直覺許多。這套工具由 Node.js Foundation 長期維護,更新相當活躍,在同類開發者工具中屬於主流首選,使用者評價普遍不錯。

它特別適合需要處理高併發、即時互動的後端服務開發者,例如聊天室、串流服務或 API 伺服器。與 BlueStacks、VMware 這類虛擬化或模擬工具相比,Node.js 定位完全不同,是純粹的程式執行環境,沒有圖形介面,需搭配編輯器與命令列操作。目前官方提供 Windows 與 macOS 版本,採開源授權,但介面與文件以英文為主,使用上需具備一定英文閱讀能力,對台灣開發者來說門檻不算高。

##

軟體介紹

作為一個非同步事件驅動的JavaScript執行環境,Node.js 的設計目標是打造可擴展的網路應用程式。在下列的「hello world」範例中,可以同時處理大量連線。每次連線時,回呼函式會被觸發,但如果沒有需要處理的工作,Node 就會進入休眠狀態。

這與現今常見的、採用作業系統執行緒的並行模型形成對比。基於執行緒的網路處理相對沒有效率,而且使用上非常困難。此外,Nodejs 的使用者完全不用擔心程序會發生死鎖,因為根本沒有鎖。

應用程式中的函式幾乎不會直接執行 I/O,因此程序永遠不會阻塞。正因為沒有阻塞,在 Node 中開發可擴展系統就變得非常合理。

Node.js 在設計上與 Ruby 的 Event Machine 或 Python 的 Twisted 等系統相似,也受到這些系統的影響。它更進一步推展了事件模型,將事件迴圈呈現為執行環境的建構,而非只是函式庫。

在其他系統中,總會有一個阻塞呼叫來啟動事件迴圈。通常行為是透過腳本開頭的回呼來定義,最後再以類似 EventMachine::run() 的阻塞呼叫啟動伺服器。在 Node js 中,沒有這種「啟動事件迴圈」的呼叫。它只是在執行輸入的腳本後,就直接進入事件迴圈。

當沒有更多回呼需要執行時,工具就會退出事件迴圈。這種行為就像瀏覽器中的 JavaScript——事件迴圈對使用者是隱藏的。

HTTP 在 Nodejs 中是第一等公民,設計時就考慮到串流與低延遲。這使得 Node js 非常適合作為網頁函式庫或框架的基礎。

雖然 Node.js 的設計沒有執行緒,但這不代表你無法善用環境中的多核心。你可以透過 child_process.fork() API 產生子程序,而且這些子程序設計成易於溝通。

建立在相同介面上的還有 cluster 模組,它讓你能在程序之間共享 socket,以便在核心之間進行負載平衡。

使用方式
  • 從官方網站或 FileHorse.com 下載 Node.js 安裝程式
  • 執行安裝程式並依照設定指示操作
  • 使用命令提示字元驗證安裝
  • 使用 npm 或 yarn 安裝相依套件
  • 使用 Node.js 建立並執行 JavaScript 檔案
  • 使用 Express.js 建置網頁應用程式
  • 使用 npm 或 yarn 管理套件
  • 使用內建工具除錯 Node.js 應用程式
  • 連線至 MongoDBMySQL 等資料庫
  • 使用雲端服務部署應用程式
系統需求
  • Windows 11 或 Windows 10(建議 64 位元)
  • 至少 4GB RAM(建議 8GB)
  • 1GHz 或更快的處理器
  • 至少 200MB 可用磁碟空間
  • 需要網際網路連線以安裝套件
優點
  • 採用 V8 引擎,效能快速
  • 大型開源社群支援
  • 跨平台相容性
  • 非同步與事件驅動架構
  • 適合微服務與 API 的擴展
缺點
  • 單執行緒可能限制效能
  • 舊程式碼中可能出現回呼地獄的複雜度
  • 頻繁更新可能導致相容性問題
  • 不適合 CPU 密集型的任務
  • 內建安全功能有限
另有提供:Node.js for Mac

下載 Node.js 最新版本 為什麼這個應用程式會發佈在 FileHorse 上?(更多資訊
##

畫面截圖

Node.js 畫面截圖 1 Node.js 畫面截圖 2 Node.js 畫面截圖 3 Node.js 畫面截圖 4
##

歷史版本

完整清單 →