Express-学习之路 06,api接口 - 路由设计

179 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

Express-学习之路 06,api接口 - 路由设计

引言

本系列会以我的一个理解,来介绍并开始学习 Express

中间会插入自己所联系到的 乱七八糟 的 知识点

路由设计

路由设计的目的,就是让我们所有的路由信息 进行统一处理。不至于全部在 app.js 中,导致代码结构太乱。

将所有的放到 router 文件夹中,在 app.js 中,只引入即可。

router 的目录结构为

- router/            路由
  -- index.js        app.js 主要引入该文件
  -- user/
    -- index.js

router/user/index.js 中,主要是 用户 相关的请求信息,进行统一处理。

const express = require('express')
const router = express.Router()

/* 测试user */
router.get('/', function (req, res, next) {
  try {
    res.send('user')
  } catch (err) {
    next(err)
  }
})

/* 用户登录 */
router.get('/login', function (req, res, next) {
  try {
    res.send('user - login')
  } catch (err) {
    next(err)
  }
})

module.exports = router

可以看到在这个文件中,我放置了两个api接口,路由为 '/''/login'

可能会有疑问,为什么路由中不添加 user,例如 '/user', '/user/login'

  • 是因为它们有统一的前缀,user

  • 既然是公共前缀,那么我们可以在 router/index.js 中引入的时候,进行添加。

router/index.js 中存放所有的路由,暴露出 router 提供给 app.js

const express = require('express')

/* 引用所有的路由 */
const user = require('./user/index')
// ...

const router = express.Router()

// 注意这里的引入方式,有一个公共的前缀
router.use('/user', user)

module.exports = router

这样的话公共的前缀名,我们就提取出来了。

app.js 文件内容如下

image.png

到这里,我们的路由设计即可完成。

后续有其他的路由,直接在 router/index.js 进行引入即可。

下面我们访问下,查看是否可以成功显示。

image.png

image.png

总结

处理了 Express 中的路由信息,使项目中的代码结构更加清晰。