mvc

mvc是什么?

是一种使用“模型-视图-控制器”设计创建Web应用程序的模式

model:

负责跟数据库之间建立映射关系和操作数据库
由于model有两个功能,所以将其划分为model和server两个文件夹

model文件夹,负责与数据库建立映射关系

model中index.js负责设置和创建数据库对象以及向数据中导入所有的表
其他js文件,负责设置数据表
通常情况下,一张数据表就对应一个.js文件
我们将表创建好之后会在其中导出一个方法,然后将这个方法在index.js中调用,就可以创建一张数据表
这个方法调用在实例化数据库对象之后,更新数据库之前

server文件夹负责操作数据库

server需要用过操作model中建立的表间映射关系,来对表进行增删改查
一张数据表对应一个server文件
也就是说,model中除了index.js,其他一个js对应server中的js文件
所有条件下,文件名都相同

view

前端页面的渲染(视图层)

controller

控制层,负责对数据进行处理
前端给后端发送请求(req)和后端给前端发送的响应(res)都要在controller层处理
最终由API创建路径的同时,调用controller层的方法完成整个接口开发

mvc中文件关系

一个model文件对应一个server文件
一个server文件对应一个controller文件
一个controller文件对应一个api文件
这些文件名保持一致

通常我们在开发的时候

1.创建一个config文佳佳,在文件创建一个database.js文件

database.js文件导出的是一个对象,对象中包含着所有与数据库有关的参数

2.创建model文件夹

2.1建立index.js文件
导入sequelize模块,并解析出Sequelize和DataTypes
导入数据库设置模块(config/database)
然后实例化Sequelize类,创建数据库对象
(在此处导入各个数据表)
更新数据库
将所有导入的数据白哦导出(只有index.js可以到处所有的数据表)
2.2建立数据表.js文件
文件名跟数据表名保持一致,此文件导出的是一个方法
这个方法需要在index.js中调用,来创建数据表
我们只在这个文件中以对象的形式来设置数据表

3.创建server文件夹

3.1server文件夹是对表进行操作,所以一张表对应一个server文件,文件名与表名保持一致
3.2在文件内先引入数据表(model中的index.js)
由于model中index.js,是将所有表以对象的形式一起导出
所以我们需要用变量将所需要操作的表单独接出来
3.3定义数据表的增删改查方法
3.4方法中会将前端发送过来的数据(req.body / req.query)发给数据库
并将数据库返回的信息发送给前端(以回调函数的形式)
所以每个方法都由两个参数
第一个参数:前端发送过来的数据
第二个参数:回调函数
3.5把所有数据库的操作方法以对象的形式导出

4.创建controller文件

4.1controller是对数据进行处理,所以跟server里的文件成树立关系
一个server文件对应一个controller文件,名字保持一致
4.2controller中的方法有req和res两个参数
req:代表请求
post的请求,使用req.body来接收
get的求情,使用req.query来接收
ers:代表相应
4.3先引入对应的server文件,在定义数据的处理方法
server中导出的方法,每一个方法都要有数据的处理方法
4.4在定义的数据处理方法中调用server方法
server方法中的第一个参数:erq.body / erq.query
server方法中的第二个参数:回调函数,在回调函数中以res.send()向前端返回数据
4.5将所有的数据处理方法以对象的形式导出

5.API

5.1使用express中的路由模块来设置API路径
先导入express模块
再用变量接一下路由模块
5.2引入controller控制器
一个controller文件对应一个API方法,文件名保持一致
5.3使用router中的get或者post方法定义API路径和请求方式
如果用get方法定义,那么就是get请求方式
如果是post方法定义,那么就是post请求方式
不管用什么方法定义,他都有两个参数
第一个参数:自定义的API路径
第二个参数:对应的controller数据处理方法
5.4导出路由模块router

将每一个API文件,在app.js文件中引入并挂载
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MVC 是什么?MVC构成:model负责跟数据库建立映射关系和操作数据库由于model层有两个功能 所以将其分为...
    Delet阅读 123评论 0 0
  • MVC是什么? 1.model负责跟数据库建立映射关系和操作数据库由于model有两个功能,所以将其划分为mode...
    熙攘_ym阅读 160评论 0 0
  • 1. mvc设计模式的构成 model(业务模型)     负责与数据库建立映射关系 和 操作数据库 view...
    div式人格阅读 124评论 0 1
  • 一.什么是Express? Express[https://www.expressjs.com.cn/]是最流行的...
    wulle__阅读 521评论 0 0
  • 1. mvc设计模式的构成 model(业务模型)     负责与数据库建立映射关系 和 操作数据库 view...
    达布干m阅读 193评论 0 0