Controller负责解析用户的输入,处理后返回响应的结果。1.所有的Controller 文件都必须放在 app/controller目录下2.支持多级目录,访问时可以通过目录名级联访问。
作用:
模板语法:
//严格模式
'use strict';
//引入egg中Controller属性
const Controller = require('egg').Controller;
//继承Controller这个类
class HomeController extends Controller {
async index() {
const { ctx } = this;//上下问对象
ctx.body = 'hi, egg';
}
}
//导出Controller
module.exports = HomeController;
如果路由是:
router.get('/hello', controller.user.news)
则控制器对应:
在controller文件夹下有一个user文件中有一个news方法
如果路由是:
router.get('/hello', controller.user.home.news)
则控制器对应:
在controller文件夹下有一个user文件夹下有一个home文件中有一个news方法
anyn 函数中可以输入任意类型的数据,他会自己转成JSON数据
this.ctx就是controller提供的功能主要是使用它提供的:给前端发送数据,访问插件功能
this.ctx.body="hello"====>只会执行一次就断开连接
可以再controller文件夹中新建新的js文件,实现模块化