使用req.url和app.use更改路由之间有什么区别?

我正在创建一个Next.js应用程序,我们在其中使用一个定制的Express服务器,其中将Next.js作为中间件来处理SSR并从页面文件夹中路由出去。

我希望index.js文件的基本URL是'/foo'而不是'/',最初希望使用app.use()作为中间件。见下文。

app.use('/foo',() => {
  const router = express.Router();
  router.get('/',(req,res) => {
    // do stuff on this route
  });
});

这行得通,这意味着如果我点击'/foo',我将进入通常由Next.js在'/'上投放的index.js页面。

但是,我还注意到我可以像下面那样重新分配req.url,我想知道是否有反对这样做的理由。

app.get('/',res) => res.redirect('/foo');

app.get('/foo',res) => {
  req.url = '/';
  // do stuff on this route
});

在路由中使用req.url重新分配是否存在问题?我们使用app.use()而不是req.url = '/'的原因是什么?

jiang8com 回答:使用req.url和app.use更改路由之间有什么区别?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166928.html

大家都在问