我正在创建一个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('/', (req, res) => res.redirect('/foo');
app.get('/foo', (req, res) => {
req.url = '/';
// do stuff on this route
});
在路由中使用req.url重新分配是否存在问题?我们使用app.use()
而不是req.url = '/'
的原因是什么?