1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > nodejs服务端MVC架构介绍

nodejs服务端MVC架构介绍

时间:2022-11-08 06:39:11

相关推荐

nodejs服务端MVC架构介绍

nodejs服务端MVC架构介绍

MVC架构本质:确定每一个js文件的职责

以nodejs数据管理系统为例,本文章代码仅为服务端演示代码,单独复制粘贴可能无效果。因为MVC并不是一门技术,而是一种项目架构思想

index.js:负责接收请求router.js:负责将请求分发给C层controller.js:C层负责处理业务逻辑(V与M之间的沟通)views:V层:负责展示页面model: M层:负责处理数据(增删改查)

/* 路由模块:只负责分发网络请求给C层,不处理 *///导入C层const controller = require('./controller.js');//1.导入express模块const express = require('express');//2.创建路由var app = express();//路由分发//Express支持链式语法app.get('/',controller.showHeroList).get('/heroList',controller.getHeroList).post('/heroAdd',controller.doHeroAdd).get('/heroInfo',controller.getHeroInfo).get('/heroDelete',controller.doHeroDelete);//3.导出路由模块module.exports = app;

/* C层:负责业务逻辑处理:M与C层之间的沟通 *///M层:操作数据库增删改查const hero = require('./model/hero.js');module.exports = {showHeroList: (req, res) => {//服务端重定向到view/heroList.htmlres.writeHead(302, {'Location': 'views/heroList.html'});res.end();},getHeroList: (req, res) => {//1.展示首页列表数据hero.find((err, jsonData) => {console.log(jsonData);if (err) {throw err;} else {res.end(jsonData);};});},doHeroAdd: (req, res) => {//完成解析之后,将得到的数据存入json文件hero.add(req.body, (err) => {if (err) {//服务端不能直接返回js对象,因为服务器是给所有客户端使用,需要返回json对象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) => {//(1)获取请求参数let heroID = req.query.id;//(2)处理请求hero.delete(heroID, (err) => {if (err) {throw (err);} else {//服务端重定向刷新首页res.writeHead(302, {'Location': 'views/heroList.html'});res.end();}});}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。