gpt4 book ai didi

node.js - Express:逻辑或路由中

转载 作者:太空宇宙 更新时间:2023-11-04 03:24:00 25 4
gpt4 key购买 nike

如何在 Express (v4.15) 路由中指定带有 OR 条件的正则表达式?

我希望以下路由指向相同的方法

/video/:videoId
/movies/:videoId
/media/:videoId

当我尝试时

app.get('/(video|media|movies)/:videoId', this.redirectToVideo.bind(this));

我收到以下错误

SyntaxError: Invalid regular expression: /^\/(?(?:([^\/]+?))|media|movies)\/(?:([^\/]+?))\/?$/: Invalid group

当我尝试不使用 () 时

app.get('/video|media|movies/:videoId', this.redirectToVideo.bind(this));

前两条路线有效,但那一条不行

 /media/:videoId

谢谢

最佳答案

我只会为你的路线使用一个数组:

app.get(['/video/:videoId', '/movies/:videoId', '/media/:videoId'], this.redirectToVideo.bind(this))

编辑:

如果您想使用正则表达式,这也可以:

app.get('(\/video|\/media|\/movies)/:videoId', this.redirectToVideo.bind(this)))

关于node.js - Express:逻辑或路由中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47078537/

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