今天我們要動手把開發環境搭建起來!從安裝 Node.js、建立 Express 專案,到跑起第一個伺服器,並介紹開發必備神器 nodemon —— 讓你寫程式時不必一直手動重啟,就像擁有「熱重啟」功能一樣。
Node.js:JavaScript 執行環境,讓前端工程師也能用熟悉的語言寫後端。
Express:最常見的 Node.js Web 框架,輕量、彈性大,非常適合做 API 型專案。
社群龐大:遇到問題很容易找到解法或範例。
安裝 Node.js
建議使用 LTS(長期支援版),穩定性較佳。
到 Node.js 官方網站 下載安裝程式(Windows/Mac 都有對應版本)。
Linux 用戶可以用套件管理工具安裝,例如 sudo apt install nodejs
,或透過 nvm 來管理多版本。
安裝完成後,在終端機輸入:
node -v
npm -v
可以看到版本號,表示安裝成功。
建立專案資料夾
建立並進入專案資料夾:
mkdir line-order-system cd line-order-system
初始化 npm(快速建立 package.json
):
npm init -y
這會在資料夾裡自動產生一個 package.json
,內容大致如下:
node -v npm -v
終端機應該會顯示版本號,例如:
v20.17.0 10.8.2
💡 小提醒:
建議先用 IDE(例如 VS Code)打開專案資料夾,再執行這些指令,後續會比較好管理程式碼。
安裝 Express
npm install express
建立一個 index.js
在此專案中並貼上以下的程式碼:
const express = require("express");
const app = express();
const port = 3000;
app.get("/", (req, res) => {
res.send("Server is running!");
});
app.listen(port, () => {
console.log(`Server listening at http://localhost:${port}`);
});
執行:
node index.js
瀏覽器打開 http://localhost:3000
,應該會看到 Server is running!
。
在 terminal 則會看見 Server listening at http://localhost:3000
之後 LINE Webhook 會丟 JSON,所以繼續在 index.js
加上:
app.use(express.json());
app.post("/webhook", (req, res) => {
console.log(req.body);
res.send("Webhook received");
});
開發時,每次修改程式都要:
Ctrl + C
停止伺服器
再輸入 node index.js
重啟
超麻煩!
nodemon 就是解決這問題的工具。它會自動監聽檔案變化並幫你重啟伺服器。
👉 可以把它理解成「後端的熱重啟」:
沒有 nodemon:修改程式 → 手動停止 → 重啟 → 測試。
有 nodemon:修改程式存檔 → 自動重啟 → 直接測試。
安裝(開發環境):
npm install --save-dev nodemon
在 package.json
加上 script:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
}
啟動開發模式:
npm run dev
這樣一來,每次存檔程式就會自動重啟,開發效率大幅提升。
我在開發過程中使用的是 VS Code,因為它有許多方便的擴充套件(像 REST Client、ESLint 等),對 Node.js 開發非常友好。不過這部分沒有硬性規定,大家完全可以用自己習慣的 IDE。
VS Code + REST Client:直接在編輯器裡測試 API。
Postman:更完整的 API 測試工具。
現在有各種 LLM 的 CLI 工具,可以一鍵幫你建立好專案架構,看似方便,但對於新手來說,直接用這些工具生成再回頭理解,反而學習成本更高。建議還是自己一步步動手搭建,這樣能更清楚知道專案的結構與細節,也更容易在出錯時快速找到問題所在。
今天我們完成了:
建立 Node.js + Express 專案
啟動最簡單的伺服器
加入接收 Webhook JSON 的準備
學會使用 nodemon,自動重啟伺服器(熱重啟概念)
重點回顧
Node.js + Express 是打造 LINE Bot 的最佳拍檔。
本地伺服器要能接收 JSON,才能處理 LINE Webhook。
nodemon = 後端熱重啟神器,開發效率提升不只一倍。
明天我們會去 LINE Developers 平台 建立 Channel,讓 LINE 真正能把訊息丟進這個伺服器!