Node.js 是什麼?
Node.js 是一個能夠在伺服器端運行 JavaScript 的開放源碼、跨平台的 JavaScript 執行環境。它由 Ryan Dahl 在 2009 年首次發行,目的是為了建立高效能、高擴充性的網路應用程式。Node.js 不是一個框架,也不是一個函式庫,它是一個運行環境。
Node.js 有幾個重要的特性:
非阻塞 I/O (Input/Output):Node.js 採用非阻塞 I/O 模型,這意味著它能夠在處理其他任務時,同時處理多個 I/O 操作,提高了效能和擴展性。
事件驅動:它是基於事件驅動的架構,可以非常容易地通過事件和回呼 (callbacks) 來處理非同步操作。
單線程:與傳統的多線程伺服器模型不同,Node.js 採用單線程模型。雖然這可能聽起來效率低,但實際上,由於非阻塞 I/O 和事件驅動的架構,它能夠非常高效地處理大量的並發連接。
模組系統:Node.js 有一個強大的模組系統,可以讓開發者很容易地組織和共享程式碼。它使用 CommonJS 模組規範,並有一個龐大的模組生態系統,稱為 NPM (Node Package Manager),它是世界上最大的開放源碼程式庫生態系統。
Node.js 非常適合建立高效能、低延遲、高並發的網路應用程式,例如即時通訊服務、線上遊戲、串流平台等。通過 Node.js,開發者可以使用相同的 JavaScript 語言來開發前端和後端,這使得開發流程更為一致和高效。
Node.js 已經成為許多知名公司和專案的首選技術,例如 Netflix、Uber、PayPal 和 NASA 等都在他們的生產環境中使用 Node.js。
接下來會介紹如何在本機端安裝 Node.js,並且建立一個簡單的 Node.js 專案。
環境安裝
安裝 Node.js 的方法有很多種,以下列出比較常見的幾種。
方法 | 描述 |
---|---|
官方網站下載 | 直接從 Node.js 官方網站下載對應作業系統的安裝檔案。 |
套件管理 | 使用作業系統的套件管理器來安裝 Node.js。 |
NVM | 使用 Node Version Manager (NVM) 來安裝和管理多個 Node.js 版本。 |
Docker | 使用 Docker 來建立包含 Node.js 的容器。 |
官方網站下載
最簡單的方式,就是直接到 Node.js 官網
有分成兩種版本,一種是 LTS (Long Term Support) 版本,一種是 Current 版本。如果沒有特別需求的話,建議使用 LTS 版本,因為這個版本會比較穩定。
NVM
NVM 是 Node.js 的版本管理工具,可以讓我們在同一台電腦上安裝多個 Node.js 版本,並且可以在不同的 Node.js 版本之間切換。
安裝 NVM
要使用 NVM 安裝 Node.js 的話,首先要先安裝 NVM。可以到 NVM 的 GitHub 上查看最新的安裝方式。
以 MacOS 為例,可以使用 curl 來安裝 NVM:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安裝完成後,重新開啟 Terminal,輸入以下指令來查看 NVM 的版本:
$ nvm --version
如果看到版本號碼,代表安裝成功,就可以安裝不同版本的 Node.js 了,例如安裝最新的 LTS 版本:
$ nvm install --lts
建立專案
接下來用 Node.js 來建立一個專案,首先先建立一個資料夾,然後進入資料夾:
$ mkdir nodejs-app
$ cd nodejs-app
並新增一個 app.js
檔案,內容如下:
const http = require('http')
const hostname = '127.0.0.1'
const port = 3000
const server = http.createServer((req, res) => {
res.statusCode = 200 // 回傳狀態碼
res.setHeader('Content-Type', 'text/plain') // 回傳的資料類型
res.end('Hello World') // 回傳的內容
})
server.listen(port, hostname, () => {
// 連線成功後的 callback
console.log(`Server running at http://${hostname}:${port}/`)
})
這一段程式碼會透過 http
這個模組來建立一個 Server,並且監聽 3000 這個 port,當有人連線到這個 port 時,就會回傳 Hello World
。而 hostname
則是指定 Server 的 IP,這邊使用 127.0.0.1
,也就是 localhost
。
要執行的話,就輸入以下指令:
$ node app.js
然後就可以在瀏覽器中輸入 http://localhost:3000
或者是 http://127.0.0.1:3000/
來看到 Hello World 顯示在畫面上。並且在 Terminal 中可以看到 Server running at http://127.0.0.1:3000/
。
以上就是使用 Node.js 建立一個簡單的 Server 的方法。下一篇文章將會介紹其他進階的功能,如果想要先了解更多的話,可以參考前進 Node.js,後端實戰開發應用的課程。