gpt4 book ai didi

node.js - 在 Express.js 中使用一个路由作为另一个路由的别名

转载 作者:IT老高 更新时间:2023-10-28 23:23:25 25 4
gpt4 key购买 nike

我正在使用 Express.js 编写一个基本博客。假设我有这样的路线结构:

/blog/page/:page

我还想要一个 /blog 路由,它本质上是 /blog/page/1 的别名。如何在 Express 中轻松处理?

所有路由都是这样定义的:

app.get('/path', function(req, res) {
//logic
});

最佳答案

使用 res.redirect告诉浏览器重定向到 /blog/page/1:

app.get('/blog', function(req, res) {
res.redirect('/blog/page/1');
});

app.get('/blog/page/:page', function(req, res) {
//logic
});

如果没有传递 page 参数,则使用共享路由处理程序并默认为第 1 页:

function blogPageHandler(req, res) {
var page = req.params.page || 1;
//logic
}

// Define separate routes
app.get('/blog/page/:page', blogPageHandler);
app.get('/', blogPage);

// or combined, by passing an array
app.get(['/', '/blog/page/:page'], blogPageHandler);

// or using optional regex matching (this is not recommended)
app.get('/:_(blog/)?:_(page/)?:page([0-9]+)?', blogPageHandler);

关于node.js - 在 Express.js 中使用一个路由作为另一个路由的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com