-
MVC 是什么?
MVC构成:
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层的方法 完成整个接口开发(API不属于MVC流程)
-
MVC中 文件的关系
一个model文件 对应 一个server文件
一个server文件 对应 一个controller文件
一个controller文件 对应 一个API文件
这些文件的文件名保持一致通常我们在开发的时候
- 先创建一个config文件夹 在文件夹下创建一个database.js文件
database.js文件 导出的是一个对象 对象中包含着所有与数据库有关的参数 - 创建model文件夹
2.1 创建 index.js 文件
导入sequelize模块 并解析出 Sequelize 和 DataTypes
导入数据库设置模块(config/database)
实例化 Sequlize 类 创建数据库对象
(在此处导入各个数据表)
更新数据库
将所有导入的数据表导出(只有 index.js 才能导出数据表)
2.2 建立 数据表.js 文件
文件名和数据表名保持一致(此文件导出的是一个方法)
这个方法 需要在 index.js 中调用 来创建数据表
我们只在这个文件中 以对象的形式来设置数据表 - 创建 server 文件夹
3.1 server文件夹 是对数据表进行操作 所以一张数据表对应一个server文件
文件名和表名保持一致
3.2 在文件内 先引入数据表(model中的index.js)
由于 model 中 index.js 是将所有数据包以对象的形式一起导出
所以我们需要用变量 将所需要操作的那个表单独接出来
3.3 定义数据表的增删改查方法
3.4 方法中 会将1前端发送过来的数据(req.body/req.query)发给数据库
并将数据库返回的信息发送给前端(以回调函数的形式)
所以每个方法都有两个参数
第一个参数是前端发送过来的数据
第二个参数是回调函数
3.5 把所有数据库的操作方法 以对象的形式导出 - 创建 controller 文件夹
4.1 controller 是对数据进行处理 所以跟server中的文件成对应关系
一个server文件 对应 一个controller文件 名字保持一致
4.2 controller中的方法 有req和res两个参数
req代表请求
post请求 使用 req.body 来接收
get请求 使用 req.query 来接收
res代表响应
4.3 先引入对应的 server 文件 再定义数据处理方法
server文件中 导出的方法 都有一个数据处理方法
4.4 在定义的数据处理方法中 调用 server 方法
server方法中 第一个参数 req.body/req.query
第二个参数 回调函数 在回调函数中 以 res.send()方法向前端返回数据
4.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中引入并挂载
- 先创建一个config文件夹 在文件夹下创建一个database.js文件
网友评论