手把手教你用Koa个项目的接口

648 阅读2分钟

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

项目开始

1.创建项目

npm init -y
npm install koa

2.划分项目目录

根据Egg.js设计原则

image.png

3.初步启动项目

npm install nodemon -D

image.png 好了,项目已经初步的跑起来了

4.将项目一些基本信息进行配置

  1. 在项目中,我们的一些配置数据是不可以写死的,所有我们需要定义一些变量来保存他们
  2. 我们将一些变量定义到.env的配置文件中 npm install dotenv通过这个库来读取
  3. 定义一些错位处理

image.png

image.png

image.png

配置路由 => router => index.js

实现动态加载路由

我们这里使用fs模块来读取我们的router文件中的文件,然后通过forEach来遍历每一项,然后将遍历到的项通过app.use(router.routes()) app.use(router.allowedMethods())来动态的加载我们router文件中的每一个路由。

image.png

连接数据库 => app => database.js

  1. 创建database.js文件 npm install mysql2
  2. 引用mysql2库
  3. 封装连接数据库的文件 image.png

注册接口 => user.router.js

  1. 创建user.router.js文件
  2. 定义注册接口
  3. 在middleware文件中创建user.middleware.js文件
  4. 判断注册的用户是否存在,创建verifyUser中间件
  5. 使用koa-bodyparser来解析前端传入的数据
  6. 加密用户密码
  7. 将用户账号和密码存储到数据中,并提示注册成功

image.png image.png

image.png

密码加密 => utils => password-handle.js
  1. 使用node自带的crypto来进行md5的加密
  2. 加密完成后将加密后的密码保存到ctx.request.body.password

image.png

将处理完的所有数据保存到数据库中

image.png

前面对数据库的所有操作 => use.service.js

image.png

测试注册接口

使用的测试软件为Postman 注册成功后,数据库中就会存在该信息

image.png

image.png

本项目我已经发布到了gitee上面,有需要的可以自行下载,sql表也在里面项目地址