Express框架 Q A


Posted by mijouhsieh on 2023-04-06

Q1: Express是一種framework還是library? 這2種有什麼不同?使用過那些有印象的library

framework
CHATGTP ANSWER:
Express是一種Web應用程式開發框架,不是一個library(庫)。儘管Express本身也是基於Node.js提供的核心模組和第三方模組開發而成的,但它提供了一系列的API和工具,用於快速開發基於Node.js的Web應用程式,這些API和工具可以幫助開發者更方便地處理HTTP請求、路由管理、模板渲染、資料庫操作等,並且可以自由選擇所需的第三方模組進行擴展。

總之,Express是一種框架,提供了一整套開發Web應用程式所需的基本設施,而不是一個單純的庫。

Q2: Express在Node.js中扮演什麼角色?

1 . Node.js 是JS的執行環境,可建立Node.js server,給予回應給client side,可呈現靜態網頁,但無法用來寫網站。
2 . Express框架,基於Node.js 而寫,所以在Node.js 中才可用。
透過Express框架:

*     設定路由,依不同網址切換畫面
*     網頁內容拆成不同檔案做整理
*     歸類 JS、CSS

Q3: Express當中所謂的MVC?

CHATGTP ANSWER:
在Express中,MVC(Model-View-Controller)是一種常見的架構模式,用於將應用程式的邏輯分離到不同的組件中,提高程式的可維護性和擴展性。MVC架構主要由以下三個組件組成:

1 Model(模型):負責定義資料結構和資料庫操作,通過對資料的操作來實現應用程式的邏輯。
2 View(視圖):負責呈現資料給使用者,以HTML、CSS、JavaScript等技術實現網頁的設計和交互效果。
3 Controller(控制器):負責接收HTTP請求,處理與模型和視圖的交互,並返回HTTP響應給瀏覽器。

在Express中,MVC架構的實現方式通常如下:

1 Model(模型):將資料庫的操作封裝到模型中,例如使用Mongoose操作MongoDB,或使用Sequelize操作關聯式資料庫。
2 View(視圖):通常使用模板引擎(例如Pug、EJS等)來渲染HTML模板,並在模板中使用變量來呈現資料。
3 Controller(控制器):使用app.get、app.post等方法註冊路由處理函式,將HTTP請求映射到相應的控制器函式中進行處理。在控制器函式中,可以調用模型來操作資料,然後返回相應的視圖或JSON數據給瀏覽器。

總之,MVC架構將應用程式的邏輯分離到不同的組件中,提高程式的可維護性和擴展性,使得不同部分之間的職責更加清晰,從而提高開發效率和代碼質量。


#Express







Related Posts

Tally String Times with Reduce

Tally String Times with Reduce

學習 Git (6) - 修改 commit 紀錄 part 2: Reset

學習 Git (6) - 修改 commit 紀錄 part 2: Reset

MTR04_1005

MTR04_1005


Comments