首页 > 解决方案 > Nuxt 和 Contentful:重复的路由

问题描述

我有一个静态网站,我也在其中运行一个包含 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.jscontentful

解决方案


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

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

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

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

推荐阅读