Egg服务器基础功能


Egg服务器基础功能

文章插图
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去响应不同的内容 。
Egg服务器基础功能

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


    推荐阅读