Nuxt.js 和内容丰富的网站无法正确生成动态路由
Posted
技术标签:
【中文标题】Nuxt.js 和内容丰富的网站无法正确生成动态路由【英文标题】:Nuxt.js & contentful website not generating dynamic routes properly 【发布时间】:2019-05-01 07:23:32 【问题描述】:我刚刚建立了一个 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`),
]
)
当我在本地主机上并且所有产品路由都在生成和更新正常时,它工作正常,当我运行npm run generate
时,只创建了一些“kebaProduct”路由。不知道我错过了什么
请注意,虽然我有 5 个 'kebaProducts on contentful' 生成,但它只生成一个 .html 文件,不确定预期的行为是什么。
【问题讨论】:
【参考方案1】:想通了。如果已指定某些内容并且它不存在于内容代码中,则该页面将无法生成,因为它会引发错误。您可以使用 v-if 检查内容并有条件地以这种方式呈现它,或者确保在内容验证中所有字段都是“必需的”
【讨论】:
以上是关于Nuxt.js 和内容丰富的网站无法正确生成动态路由的主要内容,如果未能解决你的问题,请参考以下文章