3

我需要匹配 2 条路线。

这条路线的意义是什么/*?. 表示路线之类的http://localhost:3000/#/

路线检查。

如果路由是 /login 或 /register 等,则先点击它,否则 /*

1 -像 /login 或 /register 这样的路由

app.get('What Here', function(req, res){
    res.redirect(req.url);
})

2 -路线如 /

app.get('/*', function(req, res){
    res.redirect('/');
})
4

1 回答 1

4

要走的路如下:

app.get('/login', function (req, res) {
    //login user
});

对于注册,类似的东西

app.get('/register', function (req, res) {
    //register user
});

最后,对于其他一切,您只需执行以下操作:

app.get(/^\/(.*)/, function (req, res) {
    //everything else
});

显然,您必须将前两个路由定义放在最后一个之前。

有关更多详细信息,请查看在 Node.js 中组织路由

编辑:根据您的评论,并假设您希望在每条路线上处理“许多页面”,您可以执行以下操作:

app.get('/login/:id', function (req, res) {
    //login user with id = id
    //The value of id = req.params.id
});

除此之外,要处理以 '/login/' 开头的任何路由,请尝试以下正则表达式:

app.get(/^\/login\/(.*)/, function (req, res) {
    //handles route like '/login/wefnwe334'
});
于 2013-06-08T13:31:47.360 回答