@nuxt/content的使用 Document not found, overwrite this content with #not-found slot in <ContentDoc>.
时间: 2024-09-18 15:14:20 浏览: 66
@ nuxt / content允许您在content /目录中写入,充当基于Git的Headless CMS-Vue.js开发
`@nuxt/content` 是 Nuxt.js 中的一个官方插件,它用于静态站点生成时管理内容数据,比如博客文章、页面等。当你尝试访问某个内容文件(如 blog/post-1.vue),如果该文件不存在或者未在 Content API 中注册,Nuxt 会抛出 "Document not found" 的错误,并提示你应该在 `<ContentDoc>` 组件中覆盖 `#not-found` slot 来提供自定义的 "404 Not Found" 页面。
这意味着你需要在项目的 `_ layouts/default.vue` 或者类似全局布局文件中,使用 `<ContentDoc>` 标签并设置 `default` 属性值为 `name: 'not-found'`。然后在该组件内编写你的自定义 404 内容,例如跳转到主页、显示友好的错误消息等。这样做可以保持网站结构的一致性和用户体验。
```html
<template>
<ContentDoc :default="{ name: 'not-found' }">
<div v-if="$route.name === 'not-found'" class="page-not-found">抱歉,您请求的内容未找到。</div>
</ContentDoc>
</template>
<script>
export default {
layout: 'default'
}
</script>
```
阅读全文