无法从Next js中的深层URL路径导航到根路径

时间:2019-07-21 05:52:32

标签: node.js reactjs express routing next.js

我正在尝试创建一个博客页面,其中//category/category/subcategory都输出相同的页面。 /category/subcategory/blogname输出另一个页面。 为此,我在app.prepare语句中使用以下代码设置了自定义快递服务器。

  server.get('/:category', (req, res) => {
    const params = { category: req.params.category };
    return app.render(req, res, '/', params);
  });

  server.get('/:category/:subcategory', (req, res) => {
    const params = {
      category: req.params.category,
      subcategory: req.params.subcategory,
    };
    return app.render(req, res, '/', params);
  });

  server.get('/:category/:subcategory/:id', (req, res) => {
    const params = {
      category: req.params.category,
      subcategory: req.params.subcategory,
      id: req.params.id,
    };
    return app.render(req, res, '/article', params);

您可以看到/,/ category和/ category / subcategory都呈现同一页面,即“ /”(页面文件夹中的index.js文件),而“ / category / subcategory / blogname”将呈现文章页面(存在于页面文件夹中)。

我能够从“ /”导航到“ / category / subcategory / blogname”,但是当我单击链接时,应该使我从“ / category / subcategory / blogname”回到“ /” 。

以下是我如何使用next/link创建链接的方法。

  <Link href="/"><a>Home</a></Link>
  <Link href="/?category=sports" as="/sports"><a>Categories</a></Link>
  <Link href="/?category=sports&subcategory=golf" as="/sports/golf"><a>Sub Categories</a></Link>
  <Link to="/article?category=sports&subcategory=golf?id=11" as="/sports/golf/11">Post</Link>
  

要注意的重要一点是,我能够从“ /”转到   “ / category / subcategory / blogname”,然后使用   提到的链接。但是错误仅在我启动页面时发生   来自“ / category / subcategory / blogname”。那就是我重新加载页面时   在“ / category / subcategory / blogname”或在   “ / category / subcategory / blogname”是我在   提到的博客应用。

0 个答案:

没有答案