express中的Router作用就是为了方便我们更好的根据路由去分模块。避免将所有路由都写在入口文件中。

 

一、简单的使用Router

const express = require('express');

let app = express();
app.listen(8888);

//创建路由实例,我们可以在该实例上自由的添加路由
let usersRouter = express.Router();
let orderRouter = express.Router();

//添加两个路由到应用上
app.use('/users', usersRouter);
app.use('/order', orderRouter);

//注意这时候再加路由,就可以不带前面的/users路径了
usersRouter.get('/', function (req, res) {
    res.send('用户首页');
});

usersRouter.get('/:id', function (req, res) {
    res.send(`${req.params.id} 用户信息`);
});

//注意这时候再加路由,就可以不带前面的/order路径了
orderRouter.get('/', function (req, res) {
    res.send('订单首页');
});

orderRouter.get('/:id', function (req, res) {
    res.send(`${req.params.id} 订单信息`);
});

  

二、划分文件使用Router

创建一个routes目录,专门用于放置路由文件,通过module.exports导出供外部使用。

const express = require('express');
let app = express();
app.listen(8888);

//添加两个路由到应用上
app.use('/users', require('./routes/users'));
app.use('/order', require('./routes/order'));

//404判断
app.use(function (req, res) {
    res.send('404 not found');
});

users.js的代码:

const express = require('express');

let router = express.Router();

router.get('/', function (req, res) {
    res.send('用户首页');
});

router.get('/:id', function (req, res) {
    res.send(`${req.params.id} 用户信息`);
});

//导出该路由
module.exports = router;

order.js的代码:

const express = require('express');

let router = express.Router();

router.get('/', function (req, res) {
    res.send('订单首页');
});

router.get('/:id', function (req, res) {
    res.send(`${req.params.id} 订单信息`);
});

//导出该路由
module.exports = router;

Router是可以嵌套的,如果你想划分的更细,一个子路由还以引用子子路由,不断分下去。

 

相关文章:

  • 2021-08-20
  • 2022-02-03
  • 2021-08-29
  • 2021-06-01
  • 2021-07-06
  • 2022-12-23
  • 2021-08-05
  • 2021-07-08
猜你喜欢
  • 2022-12-23
  • 2021-11-02
  • 2022-02-19
  • 2020-03-23
  • 2021-10-10
  • 2021-07-22
  • 2022-01-01
相关资源
相似解决方案