Node.js Express路由异常:仅/路由可用,挂载/的其他路由失效
解决Express路由仅根路径工作的问题
嘿,我一眼就瞅出问题在哪了——你在routes/index里定义的ping路由少了个开头的斜杠!
Express里,路由路径如果不带开头的/,会被当作相对路径来处理。你现在把路由挂载在/下,那ping这个相对路径最终会匹配//ping这种奇怪的路径,自然没法正常访问。
只要把ping路由改成带斜杠的绝对路径格式就行,修正后的代码如下:
import { Router } from 'express'; const router = Router(); router.get('/',(req,res)=>{ res.send(true); }) // 给ping路由加上开头的斜杠 router.get('/ping',(req,res)=>{ res.send('pong') }) export default router
你之前挂载路由的方式app.use('/', indexRouter)完全没问题,改完之后访问http://你的服务地址/ping,就能正常收到'pong'的响应啦。
内容的提问来源于stack exchange,提问作者Luka Isailovic
相关产品推荐
相关产品推荐

