Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置
昨天将Koa2的基础框架和自动编译调试重启服务完成,今天开始配置路由和搭建基础的三层架构模式。
路由中间件:koa-router,即路由导航,就是我们平时使用最广泛的get/post方法执行的URL路径,其全部包括get、put、post、patch、delete、del,通过访问路径,指向不同的模块,指向不同的业务方法;
基础三层模式架构:即Model,Service,Controller,数据流向是Router-->Controller-->Service-->Model-->Database。如下图:

上图说明:
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)
另外,package.json中,修改tsconfig.json中包含的路径:

F5运行,localhost:3000即显示运行结果。
今天先到这里,即介绍和搭建三层模式,明天添加相关TS文件做详细案例介绍。
Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置的更多相关文章
- Vue2+Koa2+Typescript前后端框架教程--05Sequelize的使用(ORM)
本篇开始分享Node.js后端服务开发中对于数据结构ORM的实现,主要使用的技术栈是:Sequelize. 上一篇文章中讲到班级管理的数据结构:ID,班级名称,班级编码,班主任ID,使用的数据库是My ...
- Vue2+Koa2+Typescript前后端框架教程--04班级管理示例(路由调用控制器)
上篇文章分享了简单的三层模式和基础文件夹的创建,本篇将以示例的形式详细具体的展示Router.Controller.Service.Model之间业务处理和数据传输. 1. 班级管理数据模型创建.数据 ...
- 2017年 JavaScript 框架回顾 -- 后端框架
本文是2017年 JavaScript 框架回顾系列的最后的一篇文章,主要介绍 JavaScript 的后端框架情况. 从上图中可以看到,Express 作为用 JavaScript 编写的后端服务的 ...
- 老吕教程--01后端Node.js框架搭建(安装调试KOA2)
今天开始从零搭建后端框架,后端框架基于Koa2,通过Typescript语言编写. 在写后端框架之前,自己也了解过Express,感觉Koa2更加灵活,由于有多年后端研发经验,所以采用Koa2,简单敏 ...
- 前后端分离框架前端react,后端springboot跨域问题分析
前后端分离框架前端react,后端springboot跨域问题分析 为啥跨域了 前端react的设置 springboot后端设置 为啥跨域了 由于前后端不在一个端口上,也是属于跨域问题的一种,所以必 ...
- Koa 框架教程
Koa 框架教程 作者: 阮一峰 日期: 2017年8月 9日 Node 主要用在开发 Web 应用.这决定了使用 Node,往往离不开 Web 应用框架. Koa 就是一种简单好用的 Web 框 ...
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
- jfinal框架教程-学习笔记
jfinal框架教程-学习笔记 JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...
- Java后端框架之Spring Boot详解,文末有Java分布式实战项目视频可取
在 Java 后端框架繁荣的今天,Spring 框架无疑是最最火热,也是必不可少的开源框架,更是稳坐 Java 后端框架的龙头老大. 用过 Spring 框架的都知道 Spring 能流行是因为它的两 ...
随机推荐
- ZAB
ZAB=ZooKeeper Atomic Broadcast ZooKeeper原子消息广播协议,支持崩溃回复的原子广播协议. zk使用一个单一的主进程来接受并处理客户端的所有事务请求,并采用ZAB的 ...
- JS 使用xlsx.core.js 数据导出到excel
/* 通用导出数据 需要引入 xlsx.core.js * data:数据 * th:表头 * filename:导出表格名称 */ var data = []; var th = [ [" ...
- SAP调用RestfulApi接口POST数据到外部系统
作者:明光烁亮 出处:http://www.cnblogs.com/hezhongxun/ 微信号:HEme922 欢迎加好友一起交流SAP! 视频资料共享. 本文版权归作者和博客园共有,欢迎转载,但 ...
- day4(JWT介绍)
1.JWT介绍 1.1jwt原理 最简单理解:jwt本质就是, 把用户信息通过加密后生成的一个字符串 JWT的原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户 { "Use ...
- MapReduce怎么优雅地实现全局排序
思考 想到全局排序,是否第一想到的是,从map端收集数据,shuffle到reduce来,设置一个reduce,再对reduce中的数据排序,显然这样和单机器并没有什么区别,要知道mapreduce框 ...
- 大数据-redis-redis启动出错
redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 解决方法(1) 首先如果你是从官方redis官 ...
- iNeuOS工业互联平台,WEB组态(iNeuView)图元和数据点组合及生成新图元复用,实现拖业务
目 录 1. 概述... 1 2. 平台演示... 2 3. 应用过程... 2 1. 概述 iNeuView视图建模Web组态平台实现图元和数据点组合及 ...
- 爬取网页内容后写入文件报错UnicodeEncodeError: 'gbk' codec can't encode的问题解决方案
老猿使用如下代码读取网页内容: req = urllib.request.Request(url=url,headers=header) text = urllib.request.urlopen(r ...
- Srcum冲刺_Day05
一.团队展示: 1.项目:light_note备忘录 2.队名:删库跑路队 3.团队成员 队员(不分先后) 项目角色 黄敦鸿 后端工程师.测试 黄华 后端工程师.测试 黄骏鹏 后端工程师.测试 黄源钦 ...
- jsonp使用post方法
来源https://www.jb51.net/article/68980.htm