課程目標

  • 使用 node 與 express 回應 http get request

課程內容

在 node 中開發後端程式,通常會使用一款叫做 express 的套件

雖然不用 express 也能夠開發後端應用,但 express 提供很多現成好用功能

所以先來安裝 express 吧!

npm install express

建立一個資料夾,放我們每課的練習內容,這一課就叫 lesson1 吧

然後建立一個 index.js 檔案

此時資料夾會長類似這樣

repo
├── package.json
├── package-lock.json
├── node_modules
└── lesson1
    └── index.js

在 index.js 檔案放入以下內容

const express = require('express');
const app = express();

app.get('/', function(req, res){
  res.send('<h1>恭喜您,成功囉!</h1>');
});

app.listen(3000);

然後去終端機輸入

node lesson1/index.js

接著打開瀏覽器,在網址輸入

http://localhost:3000/

你會看到一段大大的打招呼訊息!


讓我們逐行說明一下

前面兩句是載入 express 套件,然後建立主程式物件

app.get() 是註冊登記一個處理 HTTP GET 請求

第一個參數是 要處理的網址 第二個參數是放進一段「函式定義」代表要如何處理

函式定義通常會用 (req, res) 當參數,有人會寫 (request, response),都可以,分別是代表 請求回應 的物件

這段看不太懂沒關係,需要稍微研究一下「HTTP 協定」才會知道定義

反正就先用 res.send 來回應一段 html 就對了!

最後用 app.listen(3000); 來在 port 3000 跑這段後端程式


在一台電腦上,多個程式之間彼此溝通,通常會在電腦上各自使用一個 port 號碼

在瀏覽器中,通常只會輸入網址,例如 https://www.google.com.tw 之類的

只輸入網址,代表使用 443 當作 port,舉例來說,你可以在網址輸入 https://www.google.com.tw:443 看看,結果一模一樣

一個 port 只能同時給一個程式使用,為了避免用到別的程式在用的 port,我們請 node 在這邊使用 3000 這個冷門的 port,方便我們測試

然後 localhost 不是真的網址,是請瀏覽器直接在本機電腦上尋找網站開啟的意思!

以上通通看不懂沒關係,需要對 網際網路協定 稍微研讀才比較懂,先照做即可!

課後作業

這次的系列作業,要練習開發一個「個人日記 APP」

首先來練習如何用 node 回應 http get request

請開發一個 app,打開首頁 http://localhost:3000/

會顯示 <h1>我的個人日記 APP</h1>,先做到這樣就好

完成以上任務,你就完成這次的課程目標了!


交作業的方法:

請建立一個 repo 上傳到 github

這個 repo 的檔案結構應該會是這樣:

repo
├── package.json
├── package-lock.json
├── node_modules
└── hw1
    └── index.js

接下來的每次作業,都新開一個小資料夾

然後把 github 專案連結,貼到留言區即可


歡迎將作業成果,在下方留言,跟大家分享,讓大家給你一些回饋!

可以將每課學到的觀念、關鍵字,丟到網路上去搜尋、研究一下!

發問請在「討論專區」為主,或者分享學習筆記、寫學習心得!

貼文都會出現在個人檔案頁面,成為學習歷程、部落格紀錄!

未來面試時,分享給面試官看,會讓人知道你的積極程度!


共有 3 則留言