iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

學習NodeJS的30天系列 第 16

Day16 NodeJS-Express I

  • 分享至 

  • xImage
  •  

從今天開始,程式碼和實作練習的部份會佔比較多的部份,終於要進入實用的NodeJS網頁框架-Express了。

Express

Express是NodeJS後端開發中最受歡迎、快速且輕量的網頁框架,提供許多開發網頁應用程式的資源與功能。

安裝Express

由於Express是一個NPM套件,透過終端機就可以輕鬆安裝,而Express是需要在程式執行時使用的套件,因此要以--save選項將套件加入Dependencies

https://ithelp.ithome.com.tw/upload/images/20211001/201399805C312nzaFO.png

使用Express建立Web Server

  1. 引入express模組。
let express = require("express");
let app = express();
  1. 透過listen(<port>)方法可以建立監聽指定port(埠)的server(伺服器)。
app.listen(2000);
  1. 將埠值設定為全域使用的環境變數(environment variables),讓系統更有彈性,可以因應不同的執行環境不需修改設定。
let port = process.env.PORT || 2000;	// 如果環境變數不存在,使用2000
app.listen(port);
  1. 在處理Request(請求)與Response(回應)的部份,express提供不同的HTTP方法,包含getpostdelete等,可以透過url觸發回呼函式,並處理請求與回應,例如:在請求初始頁面時回傳一個HTML頁面,值得注意的是使用express中的res.send()方法回傳回應時,會自動確認回應串流的資料類型,因此不需要另外設定ContentType。
app.get('/', function(req, res){
  res.send("<html><head></head><body><h1>Hello</h1></body></html>");
});

https://ithelp.ithome.com.tw/upload/images/20211001/20139980fXVpT53E3T.png

  1. 透過res.json()方法,將JavaScript的物件轉換成JSON格式字串並傳送。
app.get('/api', function(req, res){	
  res.json({ firstName: "chw", lastName: "k" });
});

https://ithelp.ithome.com.tw/upload/images/20211001/20139980pvkcLxr1m3.png

小結

雖然不使用任何套件也可以在NodeJS上建立Web Server,但藉由express的功能,可以更輕鬆的進行開發唷~

參考資料

https://expressjs.com

https://leanylabs.com/blog/npm-packages-for-nodejs/

Learn and Understand NodeJS [課程]


上一篇
Day15 NodeJS-NPM II
下一篇
Day17 NodeJS-Express II
系列文
學習NodeJS的30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言