Безголовый CMS и статические страницы? Обновления контента?

Я пытаюсь использовать свою первую CMS без головы, и я пробовал как Prismic.io, так и 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 при запуске, а вместо этого он просто сохраняет статический контент, извлекаемый на страницах при генерации.

Я здесь упускаю главное?

Спасибо

1 ответ

То, что вы обнаружили, правильно. Nuxt в своей текущей версии делает запросы к содержательному API при возникновении новых переходов. Afaik есть планы записать данные на диск во время сборки (например, Gatsby делает это так), но они еще не реализованы.

Лично я веду свой личный блог именно на этом техническом стеке, и есть небольшое временное окно, в котором статические страницы и динамически загружаемая часть отличаются. До сих пор это не было для меня проблемой. Я могу понять, что это может вызвать проблемы.

Другие вопросы по тегам