node_egg项目大致运行流程

Posted junlan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node_egg项目大致运行流程相关的知识,希望对你有一定的参考价值。

egg项目大致的运行流程

1.public静态资源托管,内置插件egg-static

2.Router 层

Router 主要用来描述请求url和具体承担执行动作的controller的关系
框架约定了app/router.js文件用于统一所有路由规则

3.Controller 层

通过Roter将用户的请求基于method和url分发到对应的Controller上
// Controller负责解析用户的输入,处理后返回相应的结果
  1. 在Restful接口中,Controller接收用户的参数,从数据库查找内容返回给用户或者更新数据库
  2. 在html页面中,Controller根据用户访问不同的URL,渲染不同的模板得到HTML返回给用户
  3. 在代理服务器中,Controller将用户的请求转发到其他服务器上,并将其他服务器处理结果返回给用户
// Controller主要对用户的请求参数进行处理(校验,转换),然后调用对应的service方法处理业务,得到业务结果后封装并返回
  1. 获取用户通过HTTP传递过来的参数
  2. 校验,组装参数
  3. 调用Service进行业务处理,必要时处理转换Service返回的结果,适应用户的需求
  4. 通过HTTP将结果响应给客户

4.Service层

// Service就是在复杂业务场景下用域做业务逻辑封装的一个抽象层,有如下好处
  1. 保持Controller中的逻辑更加简洁
  2. 保持业务逻辑的独立性,抽象出来的Service可以被多个Controller重复调用
  3. 将逻辑和展现分离,更容易编写测试用例
// 使用场景
  复杂的数据处理,比如要展现的信息需要从数据库获取,经过一定的规则计算,参能返回用户显示,或者更新到数据库
  第三方服务的调用

以上是关于node_egg项目大致运行流程的主要内容,如果未能解决你的问题,请参考以下文章

node_egg路由Router

node_egg_验证码注册

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

scrapy流程大致分析