无头 CMS 和静态页面?内容更新?

Headless CMS and static pages? Content updates?

我正在尝试使用我的第一个 Headless CMS,我已经尝试了 Prismic.io 和 Contentful。

例如,这是 Contentful 指南中的代码:

  asyncData({ env }) {
return Promise.all([
  // fetch the owner of the blog
  client.getEntries({
    'sys.id': env.CTF_PERSON_ID
  }),
  // fetch all blog posts sorted by creation date
  client.getEntries({
    content_type: env.CTF_BLOG_POST_TYPE_ID,
    order: '-sys.createdAt'
  })
])
  .then(([entries, posts]) => {
    // return data that should be available
    // in the template
    return {
      person: entries.items[0],
      posts: posts.items
    }
  })
  .catch(console.error)
}

这很好用,我可以在

中获取我的博文
      <article v-for="post in posts" :key="post">
    <h2>{{ post.fields.title }}</h2>
    <p>{{ post.fields.content }}</p>
  </article>

但是,如果我使用 Nuxt 生成静态页面,我知道该页面在实时时仍会从 Contentful 加载最新版本的内容,而它只会在生成时保留在页面上获取的静态内容。

我是不是漏掉了重点?

谢谢

你发现的是正确的。当前版本的 Nuxt 会在出现新导航时向内容 API 发出请求。 Afaik 有计划在构建期间将数据写入磁盘(例如 Gatsby 就是这样做的)但是这些还没有实现。

就我个人而言,我 运行 我的私人博客正是关于这个技术堆栈的,有一小段时间 window 静态页面和动态加载部分是不同的。到目前为止,这对我来说不是什么问题。我能理解这可能会引起麻烦。