开发流程:
I-环境搭建:
- 安装数据库
- 项目初始化,创建项目目录(eg: backend)执行 npm init 进行初始化
- 根目录创建 ts 配置文件:tsconfig.json
// file: backend/tsconfig.json
- 根目录下创建 `src` 目录,作为我们的源码存放目录
// file: backend/src
- `src` 目录下创建项目启动入口文件:`app.ts`
--- 注册路由,连接数据库
// file: backend/src/app.ts
- 在 `src` 目录下创建一个 `configs` 目录,并在该目录下创建配置文件`index.ts`
// file: backend/src/configs/index.ts
--比如不同环境下(开发、测试、生成等)主机地址,端口,数据库连接信息等
- package.json 配置启动
// file: backend/package.json
- 创建controllers目录,控制器类文件的存放目录
// file: backend/src/controllers
- 创建validators目录,验证文件目录
-------至此,项目可正常启动访问路由,下面继续操作数据库相关环境搭建----------
- 构建数据库表结构
- 在根目录下创建一个文件:`.sequelizerc` 使用 `Sequelize-cli` 工具的时候读取的配置文件
// file: backend/.sequelizerc
- 创建models目录,模型文件所在位置
-------------------------------------------------------------项目所需要所有文件目录创建完毕
II-开发准备:
- 技术栈:
-- 开发类:
--- koa : 后端的主框架, node 的web框架
--- koa-router :基于 `Koa` 的路由
--- koa-static-cache :`koa` 静态文件代理
--- koa-ts-controllers : 基于 `Koa` 和 `TypeScript` 构建的路由控制系统,它提供了各种装饰器来构建 `RESTful` 风格的 `API`
--- mysql2 : `NodeJS` 连接操作 `MySQL` 的库
--- sequelize : 数据库操作库,支持 `MySQL`、`MSSQL`、`SQLite` 等数据库,提供了 `ORM`、`事务` 以及 `Promise` 等支持
--- sequelize-typescript : `sequelize` 的 `TypeScript` 版
--- class-validator : 基于 `validator.js` 和 `TypeScript` 的数据验证工具,对用户或者接口调用传入的数据进行校验
--- jsonwebtoken : `JWT` 鉴权库
--- moment : 日期时间处理工具
-- 工具类
--- ts-node-dev : `ts-node` 的 `dev` 版,实现了热重载
--- sequelize-cli : `sequelize` 提供了的 `CLI` 工具,可以通过它来维护数据库
III-开发流程:
- 编写app.ts: 引入 kao kao-router 静态资源代理 连接数据库 鉴权验证 注册路由 监听host(主机地址) 和 port(端口)
- 编写configs/index.ts: 配置主机地址,端口,数据库连接信息
- 编写.sequelizerc,数据库配置文件
-------------------------------------------------------------------以下为具体开发流程
- 创建控制器类文件 (eg:src/controllers/test.ts):验证数据,处理业务逻辑,调用数据库操作对象ORM,绑定路由,响应数据
- 创建验证类文件 (eg: src/validators/test.ts): 验证数据的具体方法
- 创建数据库操作模型文件 (eg: src/models/test.ts): 数据库实例操作