В чем разница между изменением маршрутизации с использованием req.url и app.use? - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю приложение Next.js, в котором мы используем пользовательский экспресс-сервер с Next.js в качестве промежуточного программного обеспечения для обработки SSR и маршрутизации из папки страниц.

Я хочу, чтобы базовый URL был'/foo' вместо просто '/' для файла index.js и изначально рассматривал использование app.use() в качестве промежуточного программного обеспечения. См. Ниже.

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

Это работает и означает, что, если я нажму '/foo', я попаду на страницу index.js, которая обычно обслуживается Next.js.

на '/'.

Тем не менее, я также заметил, что могу переназначить req.url, как показано ниже, и я хотел знать, была ли причина не делать это таким образом.

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

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

Есть ли проблемы с использованием req.url переназначение внутри маршрута? Есть ли конкретная причина, по которой мы используем app.use() вместо req.url = '/'?

...