iT邦幫忙

0

Day 5|讓網站有畫面:用Express提供第一個待辦清單頁面

  • 分享至 

  • xImage
  •  

前四天都是在回傳文字,今天終於讓網站有了真正的畫面,目標是做出待辦清單的靜態雛形,並且理解Express怎麼把HTML、CSS檔案送到瀏覽器。

今天做的事
新增public檔案,放入index.html、style.css,頁面包含標題、輸入框、新增按鈕,以及三項寫死的代辦事項,接著在server.js放入這行:

app.use(express.static('public'));

啟動後打開localhost:3000,待辦清單頁面就出現了。

觀察
express.static其實也是一個Middleware作用是"請求進來時,先去public資料夾找有沒有對應的檔案,有就直接回應"。從昨天寫的計時Middleware可以看到,載入一個頁面時,終端機不只印出GET/,還會多出GET/ style.css,證實瀏覽器讀完HTML後,會自動再發一次請求去要CSS檔案,這跟第二天觀察到的/favicon.ico是同樣的道理:一個畫面背後其實是好幾個請求。

卡關
一開始頁面沒有出現待辦清單頁面,而是出現昨天的文字:這是首頁,原來是我沒有刪掉原本的app.get('/', ...)路由,Express是照順序比對,這個路由先被匹配到,index.html根本沒機會被送出,刪掉之後才正常。這跟第三天路由重複很像,Express的順序很重要,先寫的先贏。

心得
今天第一次感覺到網站的感覺,也理解了後端不只是回傳字串,還可以負責把檔案交給瀏覽器,不過目前清單是寫死在HTML裡的,新增按鈕也沒有作用,之後要靠API跟資料庫才能讓資料真正動起來。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言