一、路由模块化
路由模块中,只存放客户端的请求与处理函数的映射关系。路由处理函数模块中,专门负责存放每个路由对应的处理函数。
新建router文件夹,路由模块,存放客户端的请求和映射的关系。
新建router_handler文件夹,路由处理函数模块,存放每个路由对应的处理函数。
在router文件夹中新建路由模块user.js用于存放与用户相关的接口。
开发注册相关的接口,客户端调用该接口实现用户注册。
const express = require('express')
const router = express.Router()
//创建注册相关的接口
router.post('/reguser', (req, res) => {
res.send({
code: 200,
data: ''
})
})
module.exports = router
在app.js中导入用户相关的路由模块。
//导入express
const express = require('express')
//创建web服务器
const app = express()
//将文件部署到服务器
app.use(express.static('img'))
//配置解析表单数据(application/x-www-form-urlencoded)格式的中间件
app.use(express.urlencoded({ extended: false }))
const userRouter = require("./router/user")
app.use('/api', userRouter)
// 通过ap.listen进行服务器的配置,并启动服务器,接收两个配置参数,一个是对应的端口号,一个是启动成功的回调函数
app.listen(9588, () => {
console.log('服务器启动成功');
})
抽离路由模块中的处理函数,为了保证路由模块的纯粹性。
const express = require('express')
const router = express.Router()
const {regUser} = require('../router_handler/user')
//创建注册相关的接口
router.post('/reguser',regUser)
module.exports = router
const user={
regUser:regUser=(req,res)=>{
res.send({
code: 200,
data: '注册成功'
})
}
}
module.exports=user
引入db数据库操作模块,调用注册接口实现数据库的新增。
const db = require('../db')
const user = {
regUser: regUser = (req, res) => {
const { username, password } = req.body
const sqlStr = 'insert into users (username,password) values (?,?)'
//执行
db.query(sqlStr, [username, password], (err, res1) => {
if (err) {
res.send({
code: 500,
data:err
})
return
}
if (res.affectedRows = 1) {
res.send({
code: 200,
data: '注册成功'
})
}
})
}
}
module.exports = user
到此为止,我们已经可以通过接口请求去进行数据库的操作了。