MVC
model,view,controller
電影項(xiàng)目
首先,定義入口文件app.js。我們需要定義并監(jiān)聽項(xiàng)目的端口,用mongoose.connect導(dǎo)入本地?cái)?shù)據(jù)庫(kù)聋呢,加載一些中間件,用express.static托管一些靜態(tài)文件颠区,定義路由削锰。
View層,創(chuàng)建視圖毕莱,使用了jade模板引擎器贩。包括了一個(gè)電影列表頁(yè),詳情頁(yè)朋截,登錄頁(yè)蛹稍,錄入數(shù)據(jù)頁(yè)面。
Model層主要是做一些數(shù)據(jù)庫(kù)的操作部服,我們采用mongoose對(duì)mongodb進(jìn)行建模唆姐,mongoose里面分為三個(gè)部分Schema,Model和Document。也就是模式廓八,模型奉芦,文檔赵抢。在Schema中,我們可以進(jìn)行模式的定義声功,比如定義字段的類型烦却,數(shù)據(jù)庫(kù)方法等。Model减噪,對(duì)傳入的schema進(jìn)行編譯短绸,相當(dāng)于生成一個(gè)構(gòu)造函數(shù)车吹。Document實(shí)現(xiàn)的是一個(gè)Controller層的東西筹裕。
Controller層,主要是實(shí)現(xiàn)一些業(yè)務(wù)邏輯窄驹,將數(shù)據(jù)渲染到View層朝卒。具體就是定義業(yè)務(wù)方法,模型的實(shí)例化乐埠,new一個(gè)模型抗斤,調(diào)用數(shù)據(jù)庫(kù)方法,如:fetch,findById,remove,最后通過(guò)save方法把數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中丈咐。render方法將數(shù)據(jù)渲染到特定頁(yè)面瑞眼。