主管评测平台项目总结

项目介绍

一种网页端的听测系统,详情见 项目分析

负责内容

在该项目中我主要负责node后端部分,采用koa框架,提供路由和业务api接口

koa框架

【特点】

  • 通过基于Promise的异步编程,koa应用可以不使用回调(callback),大大提高了开发效率。

    • koa使用async/await语法来实现异步编程,而express框架是基于事件回调的(callback),这是二者的主要差别之一
    • 通过 Bluebird 模块可以将node.js 回调风格的函数封装为Promise
  • koa本身不捆绑任何中间件,即koa核心是 “纯净的”,这是与express的第二个主要差别(主要就这俩差别,其他相似)

  • koa的中间件模型为 “洋葱模型”,如下图所示,请求从左边进入,有序经过中间件处理,最终从右边输出响应。(所以中间件会执行两次)
    image

  • koa中很关键的一个对象为Context,又称“上下文”

    • 该对象包含了Koa请求对象、Koa响应对象和应用实例,Context可以理解一个容器,该容器挂载了本次请求的请求对象和响应对象等信息
数据库

采用的数据库为mysql,通过 Sequelize 模块进行数据库增删改查等操作。

Sequelize

特点:

  • Sequelize 属于ORM(Object relationship Mapping,对象关系映射)框架,该框架就是将数据库中的术语映射为面向对象编程的概念,如:
    • 数据库——>类
    • 数据行——>类实例
    • 数据列——>实例属性
  • Sequelize 也是nodejs的模块,基于Promise开发,和koa很适配;
  • 支持MySql、PostgreSql、MS Sql等主流数据库。
posted @ 2022-09-30 02:18  小超不挑食  阅读(35)  评论(0编辑  收藏  举报