我一直在工作中被一个Node.js项目吸引,但我不是Node开发人员。我的第一个任务是从URL参数解析要存储的URL。这是需要发生的事情:
原始URL包含URL参数“ siteName”,如下所示:
https://example.com/s/Store/?siteName=SLUG
上面带有参数的网址将解析为
https://example.com/s/Store/SLUG
该项目在Express ^ 4.3.0上运行。
我一直在研究Node文档,但是我不确定从哪里开始。
答案 0 :(得分:1)
我建议您研究Express
解决您的问题很容易。首先,您需要建立一个中间件来侦听/ s / Stores路由的请求。然后解析查询参数,并获取siteName键的值。最后,使用res.redirect方法为/ s / Store / SLUG路由运行逻辑。
解决方案看起来像
app.get('/s/Stores', (req, res, next) => {
const query = req.query;
const siteName = query.siteName;
res.redirect('/s/Stores/' + siteName);
});
app.get('/s/Stores/:siteName', (req, res, next) => {
const siteName = req.params.siteName;
if (siteName === 'SLUG') {
// do something
}
// do something else
});
答案 1 :(得分:0)
假设Store
路由是您要使用参数查看的页面,如果您使用的是url查询参数,请使用第一个示例,它与第一个问题匹配。
如果您尝试不查询而获取网址参数,请使用第二个示例。
//https://example.com/s/Store/?siteName=SLUG
app.get('/Store', function(req, res){
let siteName = req.query.siteName,
});
//https://example.com/s/Store/SLUG/
app.get('/Store/:slug', function (req, res) {
let slug = req.params.slug,
});