Express 教程 第 5 部分:顯示庫資料
現在,我們準備新增顯示 LocalLibrary 網站書籍和其他資料的頁面。這些頁面將包括一個顯示我們每個模型型別有多少記錄的主頁,以及我們所有模型的列表和詳細資訊頁面。在此過程中,我們將獲得從資料庫獲取記錄以及使用模板的實踐經驗。
| 先決條件 | 完成之前的教程主題(包括 Express 教程第 4 部分:路由和控制器)。 |
|---|---|
| 目標 | 瞭解如何使用async/await執行非同步資料庫操作,如何使用 Pug 模板語言,以及如何在控制器函式中從 URL 獲取資料。 |
概述
在我們之前的教程文章中,我們定義了 Mongoose 模型,我們可以用它來與資料庫互動,並建立了一些初始的庫記錄。然後我們 建立了 LocalLibrary 網站所需的所有路由,但使用了“虛擬控制器”函式(這些是骨架控制器函式,當訪問頁面時只返回“未實現”訊息)。
下一步是為顯示我們庫資訊的頁面提供正確的實現(我們將在後面的文章中介紹實現用於建立、更新或刪除資訊的表單的頁面)。這包括更新控制器函式以使用我們的模型獲取記錄,並定義模板以將此資訊顯示給使用者。
我們將首先提供概述/入門主題,解釋如何在控制器函式中管理非同步操作以及如何使用 Pug 編寫模板。然後,我們將為每個主要的“只讀”頁面提供實現,並簡要說明它們使用的任何特殊或新功能。
在本文結束時,您應該對路由、非同步函式、檢視和模型在實踐中的工作原理有一個很好的端到端理解。
顯示庫資料教程子文章
以下子文章逐步介紹了新增我們需要顯示所需網站頁面所需的各種功能的過程。您需要依次閱讀並完成每個子文章,然後再繼續下一個。
總結
我們現在已經為我們的網站建立了所有“只讀”頁面:一個顯示我們每個模型例項數量的首頁,以及我們圖書、圖書例項、作者和流派的列表和詳情頁面。在此過程中,我們獲得了關於控制器、使用非同步操作時管理流程控制、使用Pug建立檢視、使用模型查詢站點資料庫、將資訊傳遞給檢視以及建立和擴充套件模板的許多基本知識。挑戰還將教會讀者一些關於使用Luxon處理日期的知識。
在我們的下一篇文章中,我們將繼續構建我們的知識,建立 HTML 表單和表單處理程式碼以開始修改站點儲存的資料。
另請參閱
- 在 Express 中使用模板引擎(Express 文件)
- Pug(Pug 文件)
- Luxon(Luxon 文件)