Express路由的模块化快速入门
为什么需要模块化(可跳过不看)
即使不使用模块化的路由,我们照样能够写Express,只需要把路由直接挂载到app上面即可,效果如下:
const express = require('express')
const app = express()
// 挂载路由
app.get('/自定义请求路径', (req, res) => {
res.send({ tips: 'get请求到的一些JSON数据' })
})
// 挂载路由
app.post('/自定义请求路径', (req, res) => {
res.send({ tips: 'post请求到的一些JSON数据' })
})
// 启动web服务器
app.listen(8080, () => {
console.log('✨服务已启动')
})
但当路由一多的时候就很乱,不方便开发人员查找,也很难将功能相似的路由归纳在同一片地方,这时候就需要模块化路由了
快速入门
- 在目录下新建
routers.js
文件,该文件即路由模块 - 写入以下模版代码
const express = require('express')
// 创建路由对象
const router = express.Router()
// 挂载路由
router.get('/user', (req, res) => {
res.send({
name: 'ulrich',
})
})
// 挂载路由
router.post('/user', (req, res) => {
res.send('hi, My name is Ulrich')
})
// 向外导出路由对象
module.exports = router
- 在需要使用路由模块的代码中使用路由模块
const express = require('express')
const app = express()
// 导入路由模块
const router = require('./routers')
// 挂载路由模块
app.use(router)
// 可选:加上统一的访问前缀,方便管理
app.use('/system',router)
app.listen(8080, () => {
console.log('✨服务已启动')
})