Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 我如何允许我的快速路线中的斜线?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用/ 2013/02/16 / title-with-连字符来实现永久链接。我想使用路由参数。如果我尝试以下路线:

app.get('/:href',function(req,res) { });

…然后我得到一个404,大概是因为Express只是寻找一个参数,并认为有4。

我可以用/:y /:m /:d /:t来解决它,但这会强制我的永久链接永远是这种形式。

如何使路线参数包含斜杠?

解决方法

使用正则表达式而不是字符串。

app.get(/^\/(.+)/,res) {
    var href = req.params[0]; // regexp's numbered capture group
});

请注意,您不能使用字符串语法(app.get(‘/:href(。)’)),因为Express只允许路由字符串中的一小部分正则表达式,并且将这些正则表达式用作该特定的条件检查路线的组成部分。它不捕获条件匹配的内容,也不允许您跨组件(由URL分隔的URL部分)进行匹配。

例如:

app.get('/:compa([0-9])/:compb([a-z]/')

该路由仅在第一个组件(compa)为单个数字,而第二个组件(compb)为单个字母a-z)时才匹配。

‘/:href(。)’说“只有当内容是任何东西时才匹配第一个组件”,这没有什么意义;这是认行为。另外,如果您检查the source,您会看到Express实际上强制有条件的点为字面值。

例如,app.get(‘/:href(。)’)实际编译为:

/^\/(?:(\.+))\/?$/i

注意你的被逃跑了,所以这条路线只会匹配一个或多个时期。

大佬总结

以上是大佬教程为你收集整理的node.js – 我如何允许我的快速路线中的斜线?全部内容,希望文章能够帮你解决node.js – 我如何允许我的快速路线中的斜线?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: