node.js中express的Router路由的使用

本文详细介绍了Express中的Router功能,旨在使开发者更好地组织和管理路由。通过创建Router实例,我们可以将路由模块化,避免在主应用文件中堆积过多的路由代码。示例展示了如何简单使用Router以及如何在不同文件中划分路由,使得代码结构更加清晰。同时,文中提到Router可以嵌套,支持进一步的模块细化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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是可以嵌套的,如果你想划分的更细,一个子路由还以引用子子路由,不断分下去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值