我正在尝试使用我的第一个无头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加载内容的最新版本,而不是在生成时只保留页面上获取的静态内容。
我错过了这里的要点吗?
谢谢
发布于 2019-03-19 02:52:16
你的发现是正确的。Nuxt在当前版本中会在出现新导航时向contentful API发出请求。Afaik有计划在构建时将数据写入磁盘(例如,Gatsby就是这样做的),但这些还没有实现。
就我个人而言,我正在这个技术堆栈上运行我的私人博客,并且有一个小的时间窗口,其中静态页面和动态加载部分是不同的。到目前为止,这对我来说并不是什么问题。不过,我可以理解这可能会带来麻烦。
https://stackoverflow.com/questions/55189477
复制相似问题