Безголовый 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 делает это так), но они еще не реализованы.
Лично я веду свой личный блог именно на этом техническом стеке, и есть небольшое временное окно, в котором статические страницы и динамически загружаемая часть отличаются. До сих пор это не было для меня проблемой. Я могу понять, что это может вызвать проблемы.