#4059·express

在路由器中使用前缀路径重写 req.url 会导致缺少斜杠(/)

作者: fchu创建于 2019年9月19日更新于 2026年8月11日
标签4.xinvestigatemodule:router

哈罗,我一直在尝试使用npm模块("连接-历史-api-fall-back"),并遇到问题,我认为在很多调试之后,这些问题可以归结为这个问题.

当你在一个有挂载路径的路由器中,在相对根 (') 路径上进行重写会导致缺失斜线,例如下方的“ bug.js ” {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? cont express = 要求 ('express') Const app =快报 () Const 端口 = 3000

var 路由器=快车. 路由器( ); 路由器.get('/'),函数(req, res, next) { req.url="/index.html" (中文(简体) ). 下一个( )

  • ;

app.use('/app',路由器);

app.use( 函数( req, res, 下个) { contail.log ("重写路径 :" + req.url") 决 议 ()

  • ;

app. listen(端口, () QQ控制台.log) (`例应用程序在端口上监听${port}!')


运行以下命令 :
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
节点错误.js
旋转本地主机 : 00/ app

结果重写路径为/appindex.html'而不是/app/index.html'

环境:

"节点": 12.1.0.
"表达": 4.17.1

这听起来像虫子,但也许我做错了什么? (我的预感是路由器代码不能正确“重挂”前缀路径)

谢谢!

内容来源: expressjs/express