MVC模式

MVC是什么妇多?

1.model負(fù)責(zé)跟數(shù)據(jù)庫(kù)建立映射關(guān)系和操作數(shù)據(jù)庫(kù)
由于model有兩個(gè)功能氯哮,所以將其劃分為model 和 server兩個(gè)文件夾

  • modle文件夾負(fù)責(zé)與數(shù)據(jù)庫(kù)建立映射關(guān)系
  • server文件夾負(fù)責(zé)操作數(shù)據(jù)庫(kù)
    2.view前端頁(yè)面的渲染(也叫視圖層)
    3.controller 控制層脂凶,負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行處理
    ??前端發(fā)送的請(qǐng)求(req)和后端發(fā)送的響應(yīng)(res)都要在controller層進(jìn)行數(shù)據(jù)處理敲街,最終由API創(chuàng)建虛擬路徑的同時(shí)鼻百,調(diào)用controller層的方法完成整個(gè)接口開發(fā)
MVC中文件關(guān)系

1.一個(gè)model文件對(duì)應(yīng)一個(gè)server文件
2.一個(gè)server文件對(duì)應(yīng)一個(gè)controller文件
3.一個(gè)controller文件對(duì)應(yīng)一個(gè)API文件
\color{orange}{注意:}這些文件名保持一致

創(chuàng)建流程

\color{teal}{1.}創(chuàng)建一個(gè)config 文件夾
??在文件夾下創(chuàng)建一個(gè)database.js文件(database.js文件導(dǎo)出的是一個(gè)對(duì)象绞旅,對(duì)象中包含著所有與數(shù)據(jù)庫(kù)有關(guān)的參數(shù))
\color{teal}{2.}創(chuàng)建model文件夾
??2.1建立index.js文件,導(dǎo)入sequelize模塊并解析出Sequelize和DataTypes温艇,導(dǎo)入數(shù)據(jù)庫(kù)設(shè)置模塊(config/database),然后實(shí)例化Sequelize類因悲,創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(在此處導(dǎo)入各個(gè)數(shù)據(jù)表),接著更新數(shù)據(jù)庫(kù)勺爱,將所有導(dǎo)入的數(shù)據(jù)表導(dǎo)出(只有index.js能導(dǎo)出所有數(shù)據(jù)表)
??2.2建立數(shù)據(jù)表.js文件晃琳,文件名跟數(shù)據(jù)名保持一致,此文件導(dǎo)出的是一個(gè)方法琐鲁,這個(gè)方法需要在index.js文件中調(diào)用創(chuàng)建的數(shù)據(jù)表卫旱,并且在這個(gè)文件中,以對(duì)象的形式設(shè)置數(shù)據(jù)表
\color{teal}{3.}創(chuàng)建server文件夾
??3.1server文件夾是對(duì)表進(jìn)行操作围段,所以一張表對(duì)應(yīng)一個(gè)server文件顾翼,文件名與表名保持一致
??3.2在文件內(nèi)引入數(shù)據(jù)表(model中的index.js文件),由于model中index.js是將所有表以對(duì)象的形式一起導(dǎo)出奈泪,所以我們需要聲明變量將所需要的操作的表單獨(dú)接一下
??3.3定義數(shù)據(jù)表的增刪改查的方法
??3.4方法中會(huì)將前端發(fā)送過(guò)來(lái)的數(shù)據(jù)(req.body(post)/req.query(get))發(fā)給數(shù)據(jù)庫(kù)适贸,并將數(shù)據(jù)庫(kù)返回的信息發(fā)送給前端(controller)(以回調(diào)函數(shù)的形式),所以每個(gè)方法都有兩個(gè)參數(shù)灸芳,第一個(gè)參數(shù)是前端發(fā)送過(guò)來(lái)的數(shù)據(jù)(req),第二個(gè)參數(shù)是回調(diào)函數(shù)
??3.5把所有數(shù)據(jù)操作的方法以對(duì)象的形式導(dǎo)出
\color{teal}{4.}創(chuàng)建controller文件夾
??4.1controller是對(duì)數(shù)據(jù)進(jìn)行處理,所以跟server里的文件成對(duì)應(yīng)關(guān)系取逾,一個(gè)server文件對(duì)應(yīng)controller文件耗绿,且名字保持一致
??4.2controller中的方法有req和res兩個(gè)參數(shù)
??4.3先引入對(duì)應(yīng)的server文件苹支,再定義數(shù)據(jù)處理方法砾隅,另外server文件中導(dǎo)出的方法。每一個(gè)方法都有數(shù)據(jù)處理方法
??4.4在定義的數(shù)據(jù)處理的方法中债蜜,調(diào)用server晴埂,server中第一個(gè)參數(shù)是req.body/req.query,第二個(gè)參數(shù)是回調(diào)函數(shù),在回調(diào)函數(shù)中以res.send()向前端返回?cái)?shù)據(jù)
??4.5將所有的數(shù)據(jù)處理方法以對(duì)象的形式導(dǎo)出
\color{teal}{5.}API
??5.1使用express中的路由模塊來(lái)設(shè)置API路徑寻定,先導(dǎo)入express模塊儒洛,再用變量接一下路由模塊
??5.2引入controller控制器
??5.3使用router中的get和post方法定義API路徑和請(qǐng)求方式,post加載較慢狼速,get會(huì)暴露用戶信息琅锻,很不
??5.4導(dǎo)出路由模塊router
\color{teal}{6.}將每一個(gè)API文件在app.js文件中引入并掛載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市向胡,隨后出現(xiàn)的幾起案子恼蓬,更是在濱河造成了極大的恐慌,老刑警劉巖僵芹,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件处硬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拇派,警方通過(guò)查閱死者的電腦和手機(jī)荷辕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)件豌,“玉大人疮方,你說(shuō)我怎么就攤上這事〖胪” “怎么了骡显?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)棘街。 經(jīng)常有香客問(wèn)我蟆盐,道長(zhǎng),這世上最難降的妖魔是什么遭殉? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任石挂,我火速辦了婚禮,結(jié)果婚禮上险污,老公的妹妹穿的比我還像新娘痹愚。我一直安慰自己富岳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布拯腮。 她就那樣靜靜地躺著窖式,像睡著了一般。 火紅的嫁衣襯著肌膚如雪动壤。 梳的紋絲不亂的頭發(fā)上萝喘,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音琼懊,去河邊找鬼阁簸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛哼丈,可吹牛的內(nèi)容都是我干的启妹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼醉旦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼饶米!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起车胡,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤檬输,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后吨拍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褪猛,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年羹饰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伊滋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡队秩,死狀恐怖笑旺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情馍资,我是刑警寧澤筒主,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站鸟蟹,受9級(jí)特大地震影響乌妙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜建钥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一藤韵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧熊经,春花似錦泽艘、人聲如沸欲险。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)天试。三九已至,卻和暖如春然低,著一層夾襖步出監(jiān)牢的瞬間喜每,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工脚翘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留灼卢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓来农,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親崇堰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沃于,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容