Day 120 (Week17), 2021/08/09 (Monday)
學習時數:7 hr
Done
- [done] [BE201] 下
- 2 超重要觀念:Middleware
- 3 把留言板變得更完整
#### To Do @ this week
- [] w17 [BE201]
學習心得紀錄
Objective 客觀
把留言板變得更完整
就只有跟著影片作,還沒有將筆記寫在 HackMD 上,怕會拖延到太多時間加上自己也怕太專注於細節,沒有體會整個面向,所以對於index.js
、controllers
、views
、models
裡的相互傳遞還不太熟悉,所以就有了下面一個小主題的複習,希望可以跟 PHP 一樣,心中有一個大致上的概念。
複習:超重要觀念:Middleware
今天眼睛有點酸澀,把先前在 HackMD 抄寫的筆記,轉成用紙筆寫,再思考一下 index.js
、controllers
、views
、models
裡路徑、指令、變數、參數的相互關聯性:像是在 controllers
的 res.render
語法內要寫入參數,這樣才能傳到 .ejs
檔案,在頁面中渲染 data;還有共通使用的 session
登入、errorMessage
的 connect-flash
可以使用 res.locals
令成類似全域變數的概念,這樣就可以在 views/
內使用這些參數;還有在 models
處理資料以及 controllers
取資料時的參數相關的想法,因為一開始這兩個都是分開寫,很少將他對照在一起(分成左右窗對照),所以就不太明白他的資料庫的資料是怎麼傳入 controllers
,然後再拿給 views
渲染頁面時顯示資料;另外便是使用 app.post
提交表單之類的資料時使用的路徑,還有 .ejs
內 html
語法的 <form action=''>
路徑要指到哪裡,怎麼樣才會有一個送出表單的處理。
另外還把前面介紹幾個常用的 middleware
,如:connect-flash
、session
,再想過一遍,需要引入 modules,然後再 app.use()
,之後如何再應用到 code 裡面。
感受
假日有看一些進度,今天主要在複習跟看 sequelize
。
我發現跟上次的 PHP 一樣,都需要花一些時間來理解,不然跳來跳去的製作一個註冊功能,需要先寫路由、在 models
將註冊資料放進資料庫、controllers
要連結上渲染的頁面、處理註冊後直接登入的 session
、處理錯誤功能,其實滿多步驟要去想到,還有每個步驟內有一些細節要去考慮到,然後就穿插在index.js
、controllers
、views
、models
,今天畫圖徒手寫 code,將這四個部分用線連結起來,就有一個架構。
Decisional 決定行動
今天稍稍快速略過 Sequelize
,有一個印象大概要學什麼,明天希望可以理解這個部分,然後開始寫17週的作業!