我刚刚完成了nuxt.js和内容丰富的网站的建设。人们访问该网站时,需要生成一些路由,但是除非我刷新,否则它似乎不会生成所有路由或无法识别某些页面。示例-我将博客文章上载到内容丰富的目录中,但是它没有出现在博客文章列表中,但是当我更改没有问题的博客文本时,我将配置生成附加在下面
generate: {
routes () {
return Promise.all([
client.getEntries({
'content_type': 'product'
}),
client.getEntries({
'content_type': 'kebaProduct'
}),
client.getEntries({
'content_type': 'blogPost'
}),
])
.then(([productEntries, kebaEntries, blogEntries]) => {
return [
...blogEntries.items.map(entry => `/blog/${entry.fields.slug}`),
...productEntries.items.map(entry => `/products/${entry.fields.slug}`),
...kebaEntries.items.map(entry => `/products/ev-charging/${entry.fields.slug}`),
]
})
}
当我在localhost上并且所有产品路由都已生成并更新正常时,它运行良好,当我运行npm run generate
时,仅创建了一些“ kebaProduct”路由。不知道我在想什么
请注意,尽管我确实生成了5个“内容令人满意的kebaProducts”,但当我生成时,它仅生成一个.html文件,不确定预期的行为是什么。
答案 0 :(得分:1)
弄清楚了。如果指定了某些内容,但内容代码中没有这些内容,则该页面将无法生成,因为它将引发错误。您可以使用v-if进行内容检查并有条件地呈现该内容,或者确保在Contentful验证中“必填”所有字段