express模块化路由

在我们使用express的时候,如果不作模块化处理,那么就需要在app.js中写入大量的代码。如果将所有的路由都挂载到app服务器对象上的话,随着路由的不断增多,app.js中的代码量会不断增多,那么将会使得后期我们对app.js的维护难以进行,同时这也十分不利于我们多人合作编码。

此时,我们就需要将路由的挂载单独封装到一个模块router.js当中,在该模块中,只需将所有的路由都挂载到一个路由对象上,再将这个对象导出,最后只需在app.js将其导入,并使用app.use()进行全局注册,即可实现路由的模块化处理。这样做一定程度上减少了app.js中的代码量,减轻了后期对于app.js维护的负担。

1.创建路由模块 router.js

1.1导入exprss

const express = require('express')

1.2创建路由对象

const router = express.Router()

1.3挂载路由

这里我挂载两种请求方式的路由,分别是get和post

router.get('/userinfo', (req, res) => {
  res.send({
    status: 0,
    message: 'GET 请求成功!',
    data: {
      name: 'zhangsan',
      age: 18,
      gender: '男'
    }
  })
})

router.post('/aboutme', (req, res) => {
  res.send({
    status: 0,
    message: 'POST 请求成功!',
    data: {
      myname: 'aFlowerDemon',
      myage: 21,
      mygender: '男'
    }
  })
})

1.4导出路由对象

module.exports = router

2.创建服务器模块 app.js

2.1导入express

const express = require('express')

2.2创建服务器对象

const app = express()

2.3导入路由模块

const router = require('./router')

2.4全局注册路由

这里我设置了一个访问前缀,在访问时需要加上/api访问前缀才可访问

例如:http://127.0.0.1/api/userinfo

app.use('/api', router)

2.5启动服务器

app.listen(80, () => {
  console.log('express server running at http://127.0.0.1');
})

3.客户端请求结果

这里我使用的是postman对服务进行请求,结果如下:

GET请求结果:

POST请求结果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值