超新手入門 Node.js(上)

#Node.js
超新手入門 Node.js(上)
五倍技術部
技術文章
超新手入門 Node.js(上)

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,後端實戰開發應用的課程。