如果你曾經接觸過網頁設計,或是對程式語言有一點點了解,你一定聽過 JavaScript。在過去很長的一段時間裡,JavaScript 就像是被「囚禁」在瀏覽器裡的小精靈。然而,隨著網路科技的爆發性成長,開發者讓它跳脫瀏覽器,直接在電腦或伺服器上執行,這就是 Node.js 的誕生!今天這篇文章,我們將深入淺出地帶你認識 Node.js 的核心魅力,並且手把手教你如何在 macOS 系統上,以最專業、穩健的 NVM 方式安裝與設定開發環境。無論你是全端新手,還是想寫自動化腳本,這篇完全指南都將是你最好的起點!
一、 到底什麼是 Node.js?它憑什麼紅遍全球?
很多初學者會有一個常見的誤解,以為 Node.js 是一種「新的程式語言」或是「新的 JavaScript 框架」(像是 React 或 Vue)。其實都不是!Node.js 是一個開源、跨平台的 JavaScript 執行環境(Runtime Environment)。
你可以這樣想像:JavaScript 是一份樂譜,而瀏覽器(例如 Google Chrome)就是一位會彈奏這份樂譜的鋼琴家。以前,只有這位鋼琴家看得懂這份樂譜。而 Node.js 的出現,就像是我們把這位鋼琴家的大腦(也就是 Chrome 瀏覽器核心的 V8 引擎)獨立抽出來,裝上了一個強大的金屬身軀,讓它可以直接在你的電腦作業系統上奔跑。
Node.js 賦予了 JavaScript 前所未有的超能力,讓它能夠做到以前只能由 Python、Java 或 PHP 等後端語言才能做到的事情,例如:
- 讀取、寫入、刪除你電腦裡的本機檔案。
- 架設網站伺服器(Web Server),處理來自世界各地的網路請求。
- 連接與操作各種資料庫(如 MySQL, MongoDB)。
- 撰寫自動化腳本,例如定時去特定網站爬取資料、自動寄送通知信件。
Node.js 的兩大殺手鐧:非阻塞 I/O 與事件驅動
Node.js 能夠在競爭激烈的後端技術中脫穎而出,靠的是它獨特的運作架構:非阻塞 I/O (Non-blocking I/O) 以及 事件驅動 (Event-driven)。這聽起來很生硬,我們用一個大家都很熟悉的「餐廳點餐」情境來比喻。
傳統的伺服器運作模式(阻塞式):想像一家餐廳只有一個服務生。當第一桌客人點餐時,服務生把菜單交給廚房後,他就站在廚房門口死等(這就是阻塞),直到這道菜做好了,他端給客人,才能去服務第二桌客人。如果廚房做菜要 10 分鐘,這 10 分鐘內這個服務生什麼事都不能做。為了解決這個問題,餐廳只能一直花錢僱用更多的服務生(開啟更多的執行緒 Thread),這會大量消耗系統資源。
Node.js 的運作模式(非阻塞與事件驅動):同樣只有一個服務生,但這個服務生非常聰明。第一桌客人點完餐後,他把訂單丟給廚房,不用等菜做好,立刻轉身去服務第二桌、第三桌客人(這就是非阻塞)。那菜做好了怎麼辦?廚房會在菜做好的時候,按鈴通知服務生(這就是事件驅動 Callback),服務生聽到鈴聲,再過去把菜端給客人。
因為這樣的架構,Node.js 可以用極少的系統資源,同時處理成千上萬個使用者的連線請求。這讓它非常適合用來開發「高併發、高即時性」的應用程式,例如即時聊天室、影音串流平台、線上協作工具或是股票看盤軟體。
站在巨人的肩膀上:npm (Node Package Manager)
學習 Node.js 的另一個巨大優勢,就是它內建了全世界最大的軟體註冊表——npm。你可以把它想像成是程式設計師的「App Store」。全世界有數以百萬計的開發者,將他們寫好的實用功能打包成「模組(Packages)」,免費分享在 npm 上面。
無論你需要處理時間格式、轉換圖片大小、串接 Google API,還是製作 PDF 報表,你都不需要從零開始重新發明輪子。只需要一行簡單的指令,你就能下載別人的智慧結晶,瞬間武裝你的應用程式,這極大地提升了開發效率。
二、 在 macOS 上安裝 Node.js 的三種武器
了解了 Node.js 的強大之後,我們接著來實作安裝。在 macOS 上安裝 Node.js 有許多種方法,這裡我為大家整理了三種最主流的作法。請注意,雖然第一種方法最簡單,但在業界的實務開發中,我們強烈推薦使用第三種方法(NVM)。
方法一:使用官方網站安裝檔(最直覺,適合純體驗的新手)
這是最傳統的軟體安裝方式,適合不習慣使用終端機(Terminal)指令介面的人。
- 請開啟瀏覽器,前往 Node.js 官方網站。
- 網站的首頁通常會直接提供兩個下載按鈕。請務必點擊標示為 LTS (Long Term Support, 長期維護版) 的按鈕。另一個 Current 版本雖然包含了最新功能,但可能存在潛在的 Bug,LTS 版本則是經過廣泛測試,最適合用於生產環境的版本。
- 下載完成後,你會得到一個 .pkg 格式的安裝檔。雙擊它,就像安裝一般的 Mac 軟體一樣,一路點擊「繼續」、「同意條款」,最後輸入你的 Mac 開機密碼進行授權即可完成安裝。
缺點提醒:這種安裝方式會將 Node.js 安裝在系統的根目錄下,未來如果有升級版本或管理權限的需求,可能會遇到一些 sudo 權限報錯的麻煩問題。
方法二:使用 Homebrew 安裝(乾淨俐落,適合進階蘋果用戶)
如果你是一位 Mac 的深度使用者,你的電腦裡很可能已經安裝了 Homebrew(Mac 上最強大的第三方套件管理工具)。透過 Homebrew 安裝軟體,可以省去到處找載點的麻煩。
- 首先,開啟你的 Mac 內建的「終端機」(可以在「應用程式」>「實用工具」中找到,或是用 Spotlight 搜尋 Terminal)。
- 在黑底白字的視窗中,輸入以下指令並按下 Enter:
brew install node - Homebrew 會自動幫你從雲端下載最新版本的 Node.js 以及配套的 npm,並且處理好所有的系統路徑設定(Environment Variables)。過程完全自動化,你只需要等待跑馬燈結束即可。
方法三:使用 NVM 安裝(業界唯一最佳實踐,強烈推薦!)
在真實世界的專案開發中,我們通常不會只有一個專案。A 專案可能是兩年前用 Node.js v14 寫的,而你今天剛開的新專案則需要用到 Node.js v20 的新功能。如果你只有安裝單一版本,專案之間就會發生衝突。因此,NVM (Node Version Manager,Node 版本管理器) 應運而生。
NVM 允許你在同一台 Mac 上安裝無限多個不同版本的 Node.js,並且只需要一行指令就能在各個版本之間無縫切換。這是目前業界公認最專業、最安全的安裝方式。
步驟 1:下載並安裝 NVM
打開終端機,將以下由 NVM 官方提供的安裝腳本複製並貼上,然後按下 Enter 執行(這段指令會透過 curl 工具去網路上抓取安裝檔並執行):
步驟 2:讓 NVM 設定生效
安裝完成後,NVM 還不會馬上生效。你必須完全關閉終端機視窗,再重新打開一個新的終端機。或者,你可以輸入以下指令來重新載入你的系統設定檔:
步驟 3:安裝 Node.js LTS 版本
現在 NVM 已經準備就緒了!我們透過 NVM 來安裝最新的 LTS 穩定版 Node.js。請輸入以下指令:
系統就會開始下載並安裝。未來如果你需要切換到特定版本(例如 18 版),只需要輸入 nvm use 18 就能瞬間切換,超級方便!
三、 驗證安裝成果與你的第一支 Node.js 程式
不管你剛剛是選擇了哪一種武器(安裝方法),我們都要來檢查一下是否真的安裝成功了。
請打開終端機,輸入以下指令檢查 Node.js 的版本號:
接著,檢查 npm 套件管理器的版本號:
只要這兩個指令都有成功印出一串數字(例如 v20.11.1 和 10.2.4),恭喜你!Node.js 已經正式在你的 Mac 上安家落戶了。
動手實作:打造一個迷你本地端伺服器 (Hello World)
光是安裝完還不夠過癮,我們立刻來寫幾行程式碼,感受一下 Node.js 的威力。我們要用短短不到 10 行的程式碼,在你的電腦上架設一個網站伺服器。
- 在你的 Mac 桌面上新增一個資料夾,命名為 my-first-node。
- 在資料夾裡面新增一個純文字檔案,命名為 server.js。
- 用文字編輯器(例如 VS Code,或者 Mac 內建的「文字編輯」工具,請記得轉成純文字格式)打開 server.js,將以下程式碼貼進去並存檔:
最後一步,讓它跑起來!
打開終端機,利用 cd 指令切換到你剛剛建立的資料夾路徑下(例如輸入 cd Desktop/my-first-node),然後輸入啟動指令:
這時,你的終端機應該會顯示「伺服器已經啟動...」。現在,立刻打開你的網頁瀏覽器(Chrome 或 Safari),在網址列輸入 http://localhost:3000/。如果你看到了「Hello World! 這是我的第一個 Node.js 伺服器!」的字樣,那麼恭喜你!你已經正式踏入了後端開發的奇妙世界!
Node.js 的學習之旅才剛開始,它能做的事情遠不止於此。未來我們還可以結合資料庫、運用各種前端框架,甚至是撰寫強大的自動化工具。保持好奇心,繼續探索吧!
本篇文章提供之教學內容、程式碼與軟體安裝建議,僅供學術交流與教育參考用途。讀者於實際操作時,應自行評估自身電腦環境與系統安全性。對於依循本文操作所可能引發之軟硬體故障、資料遺失或其他直接或間接損失,本部落格與作者概不負任何法律責任。操作前建議確實做好系統與重要資料之備份。
請先 登入 以發表留言。