1

我正在尝试使用我的第一个 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 加载最新版本的内容,而它只是在生成时保留在页面上获取的静态内容。

我错过了这里的重点吗?

谢谢

4

1 回答 1

0

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

就个人而言,我正在这个技术堆栈上运行我的私人博客,并且有一个小的时间窗口,其中静态页面和动态加载的部分是不同的。到目前为止,这对我来说不是什么问题。我可以理解这可能会造成麻烦。

于 2019-03-18T18:52:15.917 回答