Expressjs重新路由

时间:2014-02-26 12:24:57

标签: javascript node.js express url-routing

我需要为斜杠设置灵活的路由,例如

app.get('/home/pages')

路由器必须处理

////home///pages 
/home/pages//// 
etc... 

请求。

目前我有一个想法来实现这一点,但为此我需要知道如何通过中间件重新路由请求,

如果你能回答这个问题或提出别的意见,我将非常感激你。

另外请不建议使用正则表达式来定义路由器,因为项目已经完成,并且已经有很多已定义的路由。

1 个答案:

答案 0 :(得分:3)

您需要在中间件中重写URL:

var express = require('express');
var app = express();

app.use(function (req, res, next) {
    req.url = req.url.replace(/\/+/g, '/');
    next();
});


app.get('/home/pages', function (req, res) {
    res.send('some pages');
});

app.listen(3000);