2

我有一个nextjs应用程序。我的页面文件夹看起来像这样

pages
  games
  game

我的路线server.js如下所示:

server.get('/games/:gameId', (req, res) => {
  const { gameId } = req.params

  app.render(req, res, 'game', { gameId })
})

我也试过app.render(req, res, '/game', { gameId })了,但也没有用。

我想路由到game.js何时/games/1被击中。该应用程序路由很好/games,但我无法路由到单个游戏/games/1。我得到nextjs 404. 我错过了什么?在这种情况下如何nextjs路由?

4

1 回答 1

2

您的代码可能如下所示:

server.get('/games/:gameId', (req, res) => {
  app.render(req, res, '/game', { ...req.query, ...req.params })
})

看看您自己的代码如何缺少前面的前导斜杠game

app.render第三个参数应该是pages目录中路由的完整路径。

第四个参数通常可以设置为 和 的聚合req.queryreq.params让您的gameId参数和查询参数都传输到您的 Next.js 代码。

于 2017-12-23T16:54:01.160 回答