CNode

【求助】express 路由不能匹配 $

问答
Hhezedu发布于11 年前最后回复11 年前4 回复4685 浏览0 收藏

如:

app.use('/$1',function(req,res){
	res.end('end');
});

结果 404,如何是好?

查看回复

回复 (4)

J
jinceon#1·11 年前
app.get(/\$1/, function (req, res) {
    res.end('end');
});

如果仅是为了匹配$,换成正则表达式,并且将use改为get

C
coolicer#2·11 年前
app.use('/\\$1/', function(req,res,next) {
	res.end('end')
})
J
jinceon#3·11 年前
引用 coolicer

@coolicer 一开始就想到了是转义的问题,加了个\,没解决,没再尝试,索性用正则/\$1/算了。

还试了 app.use(/\$1/, 发现结果居然和app.get(/\$1/, 不一样,刚在debug看过程

H
hezedu#4·11 年前
引用 jinceon如果仅是为了匹配$,换成正则表达式,并且将use改为get

@jinceon 问题要复杂的 我遇到的路由是实际是这样: '/admin/:id/$_UID_$/add' 。 不过我已经这样解决了: /admin/:id/:UID/add .然后再判定req.params.UID === '$_UID_$'

参与回复
登录后即可参与回复。登录