这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战
项目开始
1.创建项目
npm init -y
npm install koa
2.划分项目目录
根据Egg.js设计原则
3.初步启动项目
npm install nodemon -D
好了,项目已经初步的跑起来了
4.将项目一些基本信息进行配置
- 在项目中,我们的一些配置数据是不可以写死的,所有我们需要定义一些变量来保存他们
- 我们将一些变量定义到.env的配置文件中
npm install dotenv通过这个库来读取 - 定义一些错位处理
配置路由 => router => index.js
实现动态加载路由
我们这里使用fs模块来读取我们的router文件中的文件,然后通过forEach来遍历每一项,然后将遍历到的项通过app.use(router.routes()) app.use(router.allowedMethods())来动态的加载我们router文件中的每一个路由。
连接数据库 => app => database.js
- 创建database.js文件
npm install mysql2 - 引用mysql2库
- 封装连接数据库的文件
注册接口 => user.router.js
- 创建user.router.js文件
- 定义注册接口
- 在middleware文件中创建user.middleware.js文件
- 判断注册的用户是否存在,创建
verifyUser中间件 - 使用
koa-bodyparser来解析前端传入的数据 - 加密用户密码
- 将用户账号和密码存储到数据中,并提示注册成功
密码加密 => utils => password-handle.js
- 使用node自带的
crypto来进行md5的加密 - 加密完成后将加密后的密码保存到
ctx.request.body.password中
将处理完的所有数据保存到数据库中
前面对数据库的所有操作 => use.service.js
测试注册接口
使用的测试软件为Postman
注册成功后,数据库中就会存在该信息