我正在努力使路线像/ review- {title}一样动态 - {id} ,但导致错误不知道为什么,如果用户输入错误的参数而不是如何处理。 我的客户要求是如上所述,我不是很好的节点和表达请任何人建议如何制作如上所述的路线。 此外,如果我需要制作这样的路线/ review /:title /:id格式,我怎么能这样做。
我正在尝试,但它会将我重定向到404页面,
请在里面找到我现有的代码详情, server.js
this is working..
app.get('/review', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client/review.html'));
});
but not this one..
app.get('/review-*-*', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client/review.html'));
});
Also not this one working
app.get('/review/*/*', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client/review.html'));
});
This is 404 page which call evrytime while accessing dynamic pages
app.get('/*', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client/404.html'));
});
答案 0 :(得分:2)
查看Express中路由的语法。
在大多数情况下,你最好使用路线参数,例如:
app.get('/review/:title/:id', (req, res) => {
res.sendFile(path.resolve(__dirname, '../client/review.html'));
});
更多的灵活性(但对大多数开发人员来说更不透明)将匹配正则表达式。
我认为你可以把*放在单词的中间(它们给出一个像'/ abc * def'的例子,但是我不确定它和你正在做的其他事情有多好,我不喜欢如果你这样做,我认为你可以在模式中有多个*。)