egg直接取req_Egg服务器基础功能

本文详细介绍了Egg.js框架的基本使用,包括配置路由、控制器、服务、静态资源、安全验证、文件上传、Cookie与Session管理、JSONP响应及重定向等核心功能。讲解了Controller、Service的继承和路由绑定,以及如何获取和处理用户请求数据。
摘要由CSDN通过智能技术生成

1. 框架约定目录规则

1.1 app/router.js:用于配置URL路由规则;

1.2 app/controller/** :用于解析用户的输入,处理后返回相应的结果;

1.3 app/service/**: 用于编写业务逻辑层;

1.4 app/public/**: 用于放置静态资源;

1.5 config/config.{env}.js: 用于编写配置文件;

1.6 config/plugin.js 用于配置需要加载的插件;

2.内置对象

1. Application:全局应用对象,在一个应用中,只会实例化一个对象;

在继承于 Controller, Service 基类的实例中,可以通过 this.app 访问到 Application 对象。

2. Request & Response:可以在 Context 的实例上获取到当前请求的 Request(ctx.request) 和 Response(ctx.response) 实例;

3. Controller:推荐所有的 Controller 都继承于该基类实现。该基类属性有:

ctx - 当前请求的 Context 实例。

app - 应用的 Application 实例。

service - 应用所有的 service。

4. Service:推荐所有的Service都继承该基类。

Service基类属性和 Controller 基类属性一致。

3.路由Router

路由是描述请求URL和具体承担执行动作的Controller的对应。说的直白点,就是用户访问不同的路径时应该有不同的Controller去响应不同的内容。

0cdef068004a59e803337d6558e5a437.png

4.控制器Controller

1. 控制器的定义以及和路由的关联

Controller负责解析用户的输入,处理后返回响应的结果。所有的Controller 文件都必须放在 app/controller目录下,支持多级目录,访问时可以通过目录名级联访问。如将Controller代码放到 app/controller/sub/post.js 中,则可以在 router 中这样使用:

// app/router.js
module.exports = app => {
app.router.post('createPost', '/api/posts', app.controller.sub.post.create);
}

同时,我们也可以自定义基类给控制器继承,官方案例如下:

// app/core/base_controller.jsconst { Controller } = require('egg');class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值