koa --- > [MVC实现之二]Controller层的实现

[MVC实现之一]传送门

https://blog.csdn.net/piano9425/article/details/103362966

Router层

  • router这一层,不做业务处理,仅仅只是将路由和路由的处理函数结合起来.
  • 路由的处理函数由Controller层实现
  • 改进目录结构如下(实际上新建了controller文件夹及其内部子文件,mar.js)
    在这里插入图片描述

Router层的改变

  • 我们希望routes下的index.js结构如下
    "get /": indexHandler;
    "get /detail: detailHandler"
  • 改成如下:
module.exports = app => ({
   
	'get /': app.controller.home.index,
	'get /detail': app.controller.home.detail
})

注:
1.此时导出的是一个函数,而不是一个对象
2.现在已经有了路由,以及路由的处理函数的名称.
3.路由的逻辑将在Controller层内完成

Controller实现路由逻辑

  • /mar/controller/home.js
module.exports = ctx => {
   
	index: async ctx =>{
   
		ctx.body = 'Controller Index'
	},
	detail: async ctx =>{
   
		ctx.body = 'Controller detail'
	}
}

注:
1.实现的逻辑很简单:根据请求的URL返回内容给浏览器渲染
2.现在有了,路由,路由的处理函数,路由与路由处理函数的对应.
3.下面只需将controller文件夹下的函数挂载到app上即可.
4.app是函数的实例

构造mar类

思路

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值