【问题标题】:Nuxt and Contentful: duplicated routesNuxt 和 Contentful:重复的路由
【发布时间】:2021-05-22 00:23:09
【问题描述】:

我有一个静态网站,我也在其中运行一个包含 Contentful 内容的博客,并且博客中的所有内容都运行良好。 但是,在生成 Nuxt 路由时,我的帖子 URL 存在重复,位于 /blog/post-title 下(工作正常并且是所需的结果),但也生成了与 /post-title 一样的上一级错误。

关于如何重写它的任何想法?我看过下面的代码的多个版本。

generate: {
  routes() {
    return Promise.all([
      client.getEntries({
        content_type: "blogPost"
      })
    ]).then(([posts]) => {
      return [
        ...posts.items.map(posts => `blog/${posts.fields.slug}`),
      ];
    });
  }
},

【问题讨论】:

  • 如果您觉得我的回答解决了您的问题,请接受。 :)

标签: nuxt.js contentful


【解决方案1】:

在这里,contentful 可能已经在自己进行生成了。告诉 Nuxt 排除它自己的路线可能是一个好主意。希望我们确实拥有这个属性:https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-generate/#exclude

您几乎可以忽略所有路由并让 Contentful 自行管理,但您可能需要一个中间地带(并适应正则表达式)。

但是一个天真的简单的解决方案是:

export default {
  generate: {
    exclude: [
      /^\/pages/
    ]
  }
}

【讨论】:

  • 谢谢你,但你说得对。问题是,我在 /pages 下也有许多文件夹,我确实希望生成它们,只需要排除来自 Contentful 的页面。不确定这种方法是否有效,因为我要排除的内容路由与我要保留的页面处于同一级别。还有其他建议吗?谢谢!
  • 只能排除 blog 目录。
  • 不需要。事实上,正如你所说,Contentful 可能是在顶层添加博客文章,所以我必须添加上面的代码来创建博客目录,这是所需的位置。不知道如何在将所有页面保持在同一级别的同时仅排除顶级重复的博客文章。将继续寻找答案,非常感谢您抽出宝贵的时间。
猜你喜欢
  • 2021-11-23
  • 2021-05-08
  • 2019-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-01-06
  • 2019-10-21
  • 2023-03-21
  • 1970-01-01
相关资源
最近更新 更多