MVC

  1. 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流程)

  2. MVC中 文件的关系
    一个model文件 对应 一个server文件
    一个server文件 对应 一个controller文件
    一个controller文件 对应 一个API文件
    这些文件的文件名保持一致

    通常我们在开发的时候

    1. 先创建一个config文件夹 在文件夹下创建一个database.js文件
      database.js文件 导出的是一个对象 对象中包含着所有与数据库有关的参数
    2. 创建model文件夹
      2.1 创建 index.js 文件
      导入sequelize模块 并解析出 Sequelize 和 DataTypes
      导入数据库设置模块(config/database)
      实例化 Sequlize 类 创建数据库对象
      (在此处导入各个数据表)
      更新数据库
      将所有导入的数据表导出(只有 index.js 才能导出数据表)
      2.2 建立 数据表.js 文件
      文件名和数据表名保持一致(此文件导出的是一个方法)
      这个方法 需要在 index.js 中调用 来创建数据表
      我们只在这个文件中 以对象的形式来设置数据表
    3. 创建 server 文件夹
      3.1 server文件夹 是对数据表进行操作 所以一张数据表对应一个server文件
      文件名和表名保持一致
      3.2 在文件内 先引入数据表(model中的index.js)
      由于 model 中 index.js 是将所有数据包以对象的形式一起导出
      所以我们需要用变量 将所需要操作的那个表单独接出来
      3.3 定义数据表的增删改查方法
      3.4 方法中 会将1前端发送过来的数据(req.body/req.query)发给数据库
      并将数据库返回的信息发送给前端(以回调函数的形式)
      所以每个方法都有两个参数
      第一个参数是前端发送过来的数据
      第二个参数是回调函数
      3.5 把所有数据库的操作方法 以对象的形式导出
    4. 创建 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 将所有的数据处理方法 以对象的形式导出
    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
    6. 将每一个api文件 在app.js中引入并挂载
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,306评论 1 92
  • 本文首先描述 MVC 模式是什么,然后针对 MVC 的不足发表了作者的个人观点,随后引出了基于 REST 架构实现...
    java菜阅读 824评论 0 2
  • ASP.NET是使用HTML、CSS、JS和服务端脚本创建Web页面和网站的开发框架。 ASP.NET支持三种开发...
    JunChow520阅读 1,655评论 0 2
  • 简介: JSP****全名为Java Server Pages,中文名叫java 服务器 页面,其根本是一个简化的...
    熊少文阅读 645评论 0 0
  • Spring MVC应用 Spring MVC介绍 MVC体系结构 三层架构在B/S架构中,系统标准的三层架构包括...
    小山雀阅读 378评论 0 0