Min*_*Vox 3 javascript regex node.js express
通过以下路线:
app.get('/', controller.web.Home);
Run Code Online (Sandbox Code Playgroud)
如何添加'/'允许匹配的内容/,/index以及/index.html?我还想对所有其他路由使用此方法,以便用户在将.html添加到路径时看不到错误页面.
我在Express网站上看到过这个,但是对于匹配的倍数没有明确的解释.提前致谢.
Express使用path-to-regex来路由字符串,这意味着您可以使用正则表达式或字符串模式来匹配路由.
如何在'/'内添加允许匹配/,/ index和/index.html的内容
像这样的东西会起作用:
app.get('/|index|index.html', controller.web.Home);
Run Code Online (Sandbox Code Playgroud)
我还想对所有其他路由使用此方法,以便用户在将.html添加到路径时看不到错误页面.
您还可以编写一个小辅助函数来处理任何路径:
function htmlExt(route) {
return route + '|' + route + '.html';
}
Run Code Online (Sandbox Code Playgroud)
并将其用于任何路线:
app.get(htmlExt('index'), controller.web.Home);
app.get(htmlExt('blog'), controller.web.Blog);
// ...
Run Code Online (Sandbox Code Playgroud)
你也可以传入一个路径数组,所以这也应该工作:
function htmlExt(route) {
return [route, route + '.html'];
}
app.get(htmlExt('index'), controller.web.Home);
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用正则表达式.也许是接受路线和可选.html扩展的人:
app.get(/index(.html)?/, controller.web.Home);
Run Code Online (Sandbox Code Playgroud)
您可以在Express Routing文档中找到其他有用的示例.
| 归档时间: |
|
| 查看次数: |
1446 次 |
| 最近记录: |