昨天将Koa2的基础框架和自动编译调试重启服务完成,今天开始配置路由和搭建基础的三层架构模式。

路由中间件:koa-router,即路由导航,就是我们平时使用最广泛的get/post方法执行的URL路径,其全部包括get、put、post、patch、delete、del,通过访问路径,指向不同的模块,指向不同的业务方法;

基础三层模式架构:即Model,Service,Controller,数据流向是Router-->Controller-->Service-->Model-->Database。如下图:

Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置-LMLPHP

 上图说明:

1. 每个router指向一个controller,一个控制器代表一个模块,一个模块即是一个业务,业务内部进行逻辑处理,但各个模块之间没有直接业务关系,降低模块耦合,比如班级管理,课程管理,学生管理,教师管理;

2. controller访问service,service即每个单元级(数据模型model)逻辑处理服务。当controller进行业务处理时,需要对业务逻辑服务进行调用,比如班级管理中,主要业务是对班级的处理(增删改查),但是班级的数据结构中也包括班主任ID,所以此时也要对班主任ID字段进行保存,在读取班级信息时,有时就需要班主任ID,通过教师服务关联教师表的信息,将教师姓名、手机号等信息进行展示。

3. service访问model,一个单元级服务只访问一个数据模型,如班级单元服务-->班级数据模型,也就是班级的增删改查的处理;

4. model通过ORM映射到database数据库中对应表,进行访问和存储。

在代码结构中,我们先在src路径下建立相关文件夹:(更改:将上篇中的index.ts重命名app.ts【看起来正式点】,移入src根目录,并修改launch.js中的program对应路径和文件名,以及package.json中scripts中相关指令的index.js->app.js)

Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置-LMLPHP

 另外,package.json中,修改tsconfig.json中包含的路径:

Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置-LMLPHP

 F5运行,localhost:3000即显示运行结果。

今天先到这里,即介绍和搭建三层模式,明天添加相关TS文件做详细案例介绍。

12-27 11:01