手摸手学会node框架之一——koa 傻瓜式小白教程( 四 )


3) 优化
我们可以将一个模块放到一个单独的文件中. 分离出一个路由层
创建src//user.route.js
// 导入koa-router, 实例化路由对象const Router = require('koa-router')const router = new Router()router.get('/users', (ctx) => {ctx.body = '这是用户页'})router.post('/users', (ctx) => {ctx.body = '创建用户页'})module.exports = router
再导入
// 一. 导入koaconst Koa = require('koa')// 二. 实例化对象const app = new Koa()const userRouter = require('./router/user.route')// 四. 注册路由中间件app.use(userRouter.routes()).use(userRouter.allowedMethods())// 五. 启动服务app.listen(3000, () => {console.log('server is running on http://localhost:3000')})
可以给路由设置一个统一的前缀, 使代码更加简洁
// 导入koa-router, 实例化路由对象const Router = require('koa-router')const router = new Router({ prefix: '/users' })router.get('/', (ctx) => {ctx.body = '这是用户页'})router.post('/', (ctx) => {ctx.body = '创建用户页'})module.exports = router
五、请求参数
在很多场景中, 后端都需要解析请求的参数, 做为数据库操作的条件
场景一
前端希望通过请求, 获取id=1的用户信息
接口设计
GET /users/:id
场景二
前端希望查询年龄在18到20的用户信息
场景三
前端注册, 填写了用户名, 年龄, 传递给后端, 后端需要解析这些数据, 保存到数据库