Headline
大事件后台 API 项目, API 接口文档请参考 https://www.showdoc.cc/escook?page_id=3707158761 215217
1. 初始化
1.1 创建项目
1. 新建 api_server 文件夹作为项目根目录,并在项目根目录中运行如下的命令,初始化包管理配置文件:
npm init -y
2. 运行如下的命令,安装特定版本的 express :
npm i express@4.17.1
3. 在项目根目录中新建 app.js 作为整个项目的入口文件,并初始化如下的代码:
// 导入 express 模块
const express = require('express')// 创建 express 的服务器实例
const app = express()// write your code here ...// 调用 app.listen 方法,指定端口号并启动web服务器
app.listen(3007, function () {console.log('api server running at http://127..0.1:3007')
})
1.2 配置 cors 跨域
1. 运行如下的命令,安装 cors 中间件:
npm i cors@2.8.5
2. 在 app.js 中导入并配置 cors 中间件:
// 导入 cors 中间件
const cors = require('cors')// 将 cors 注册为全局中间件
app.use(cors())
1.3 配置解析表单数据的中间件
1. 通过如下的代码,配置解析 application/x-www-form-urlencoded 格式的表单数据的中间件:
app.use(express.urlencoded({ extended: false }))
1.4 初始化路由相关的文件夹
1. 在项目根目录中,新建 router 文件夹,用来存放所有的 路由 模块
路由模块中,只存放客户端的请求与处理函数之间的映射关系
2. 在项目根目录中,新建 router_handler 文件夹,用来存放所有的 路由处理函数模块
路由处理函数模块中,专门负责存放每个路由对应的处理函数
1.5 初始化用户路由模块
1. 在 router 文件夹中,新建 user.js 文件,作为用户的路由模块,并初始化代码如下:
const express = require('express')// 创建路由对象
const router = express.Router()// 注册新用户
router.post('/reguser', (req, res) => {res.send('reguser OK')
})// 登录
router.post('/login', (req, res) => {res.send('login OK')
})// 将路由对象共享出去
module.exports = router
2. 在 app.js 中,导入并使用 用户路由模块 :
// 导入并注册用户路由模块
const userRouter = require('./router/user')
app.use('/api', userRouter)
1.6 抽离用户路由模块中的处理函数
目的:为了保证 路由模块 的纯粹性,所有的 路由处理函数 ,必须抽离到对应的 路由处理函数模块 中
1. 在 /router_handler/user.js 中,使用 exports 对象,分别向外共享如下两个 路由处理函数 :
/*** 在这里定义和用户相关的路由处理函数,供 /router/user.js 模块进行调用*/// 注册用户的处理函数
exports.regUser = (req, res) => {res.send('reguser OK')
}// 登录的处理函数
exports.login = (req, res) => {res.send('login OK')
}
2. 将 /router/user.js 中的代码修改为如下结构:
const express = require('express')
const router = express.Router()// 导入用户路由处理函数模块
const userHandler = require('../router_handler/user')// 注册新用户
router.post('/reguser', userHandler.regUser)// 登录
router.post('/login', userHandler.login)
module.exports = router
2. 登录注册
2.1 新建 ev_users 表
1. 在 my_db_01 数据库中,新建 ev_users 表如下:
2.2 安装并配置 mysql 模块
在 API 接口项目中,需要安装并配置 mysql 这个第三方模块,来连接和操作 MySQL 数据库
1. 运行如下命令,安装 mysql 模块:
npm i mysql@2.18.1