【问题标题】:Headless CMS and static pages? Content updates?无头 CMS 和静态页面?内容更新?
【发布时间】:2019-08-06 22:32:21
【问题描述】:

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

我错过了这里的重点吗?

谢谢

【问题讨论】:

    标签: vue.js contentful nuxt.js headless-cms


    【解决方案1】:

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

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

    【讨论】:

    • 你好。那我一定是做错了什么。我对内容内容所做的任何更改都不会显示在实时站点上。只要我生成静态页面,就是这样,这就是我将坚持的内容,无论我从 Contentful 更改(或删除)什么
    • 好的,我想我得到了我所缺少的东西。我需要 webhook 来触发自动新构建并部署到服务器。我说的对吗?
    • 是的。要使静态站点工作流正常工作,您必须配置 webhook 连接以触发重建。 :)
    猜你喜欢
    • 2011-07-21
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多