热搜:fiddler git ip 代理 ios
历史搜索

03.Egg.js教程

游客2024-11-29 07:30:01
目录文章目录
  1. Controller 是什么?
  2. 创建一个新的 Controller
  3. 路由的配置

本文主要学习 Egg.js 里最重要的部分Controller

Controller 是什么?

Controller,也就是控制器,简单说Controller 负责解析用户的输入,处理后返回相应的结果。但是由于开发形式的不同,Controller 的具体作用还是有一些区别的。

  1. RESTful接口中,Controller 接受用户的参数,从数据库中查找内容返回给用户或者将用户的请求更新到数据库中。
  2. 在 HTML 页面请求中,Controller 根据用户访问不同的 URL,渲染不同的模板得到 HTML 返回给用户。
  3. 在代理服务器中,Controller 将用户的请求转发到其它服务器上,并将其它服务器的处理结果返回给用户。

官方给的建议是 Controller 层主要对用户的请求参数进行处理(校验、转换),然后调用对应的service方法处理业务,得到业务结果封装并返回。

本文我们主要学习三种用途的第二中,在 HTML 页面请求中的使用。这也是简单、最好理解的一个使用方法。

创建一个新的 Controller

接下来我们自己手写一个 Controller.

/app/controller目录下,新建一个文件 mybj.js,然后编写下面的代码:

'use strict';

const Controller = require('egg').Controller;

class MybjController extends Controller{
    async index(){
        const { ctx } = this;
        ctx.body = '<h1>I am Mybj</h1>';
    }

}

module.exports = MybjController;

通过自己手写能够让我们熟悉 Controller 的最简单写法,写完这个 Controller 后,你在浏览器中是没办法访问到的,这时候你还需要去配置路由。

路由的配置

打开/app目录下的router.js文件。这时候你不用引入,你只用增加如下代码就可以进行访问了。

router.get('/my',controller.jspang.index);

本文的主要目的,就是了解如何编写一个新的Controller,使用 Egg.js 基本有一半时间都在处理 Controller,所以我们有必要详细了解一下。

如果你也是一个新手,建议你还是手写Controller文件,只有动手编写,我们才能领悟更深。