Server

創建 Server

import { createServer } from "http";

const server = createServer((request, response) => {
  switch (request.url) {
    case "/profile": 
      response.writeHead(200, { "Content-Type": "text/html" });
      response.write(`
				<html>
					<body>
						This is profile page
					</body>
				</html>
			`);
      break;
    case "/":
    default: 
      response.writeHead(200, { "Content-Type": "text/html" });
      response.write(`
				<html>
					<body>
						This is home page
					</body>
				</html>
			`);
  }
  
  response.end();
});

server.listen(8080);
  • createServer():創建 server。
    • request parameter:來自 client 的請求。
    • response parameter:回應 clinet。
      • response.writeHead():設定 response header。
      • response.write():送給 client 的內容。
      • response.end():送出回覆。
  • server.listen(8080):監聽來自 8080 port 的請求;也就是當有人打開 http://url:8080 時執行 createServer 的 callback function。

使用 Express 建立 Server

import * as express from "express";

const app = express();

app.get("/", (request, response) => {
  response.send("<p>Home Page</p>");
})

app.listen(8080);
  • express:創建 server。
  • express.prototype.get():處理 HTTP-Method GET
    • request parameter:來自 client 的請求。
    • response parameter:回應 clinet。
    • response.send(value: any) 送出回覆。
      • value 為 Object 時 header 自動設為 application/json
  • express.prototype.listen(8080):監聽來自 8080 port 的請求;也就是當有人打開 http://url:8080 時執行 createServer 的 callback function。