生活随笔
收集整理的這篇文章主要介紹了
nodejs服务端MVC架构介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nodejs服務端MVC架構介紹
MVC架構本質:確定每一個js文件的職責
以nodejs數據管理系統為例,本文章代碼僅為服務端演示代碼,單獨復制粘貼可能無效果。因為MVC并不是一門技術,而是一種項目架構思想
- index.js:負責接收請求
- router.js:負責將請求分發給C層
- controller.js:C層負責處理業務邏輯(V與M之間的溝通)
- views:V層:負責展示頁面
- model: M層:負責處理數據(增刪改查)
const controller
= require('./controller.js');
const express
= require('express');
var app
= express();
app
.get('/',controller
.showHeroList
)
.get('/heroList',controller
.getHeroList
)
.post('/heroAdd',controller
.doHeroAdd
)
.get('/heroInfo',controller
.getHeroInfo
)
.get('/heroDelete',controller
.doHeroDelete
);
module
.exports
= app
;
const hero
= require('./model/hero.js');module
.exports
= {showHeroList
: (req
, res
) => {res
.writeHead(302, {'Location': 'views/heroList.html'});res
.end();},getHeroList
: (req
, res
) => {hero
.find((err
, jsonData
) => {console
.log(jsonData
);if (err
) {throw err
;} else {res
.end(jsonData
);};});},doHeroAdd
: (req
, res
) => {hero
.add(req
.body
, (err
) => {if (err
) {res
.end(JSON.stringify({err_code
: 100,err_msg
: err
.err_msg
}));} else {res
.end(JSON.stringify({err_code
: 0,err_msg
: 'success'}));}});},getHeroInfo
: (req
, res
) => {var heroID
= req
.query
.id
;hero
.find(heroID
, (err
, data
) => {if (err
) {throw err
;} else {res
.end(data
);};});},doHeroDelete
: (req
, res
) => {let heroID
= req
.query
.id
;hero
.delete(heroID
, (err
) => {if (err
) {throw (err
);} else {res
.writeHead(302, {'Location': 'views/heroList.html'});res
.end();}});}
}
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的nodejs服务端MVC架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。