如何正确获取 Nuxt Content 数据并在 Nuxt 页面中渲染

在这里我们将学习如何正确获取 Nuxt Content 数据并在 Nuxt 页面中渲染
2023年3月1日
介绍
Nuxt.js 是一个用于构建 Vue.js 应用程序的流行开源框架。随着 Nuxt 3 的发布,开发者可以访问新功能和改进来简化开发过程。其中一个功能是 Nuxt Content v2,它允许你以简单高效的方式创建和管理内容。在这篇博客文章中,我们将指导你完成将 Nuxt Content v2 与 Nuxt 3 连接的步骤。
步骤 1:安装必要的依赖
第一步是安装 Nuxt Content v2 的必要依赖。为此,运行以下命令:
npm install @nuxt/content@next
步骤 2:配置 Nuxt Content v2
安装依赖后,你需要在 Nuxt 3 项目中配置 Nuxt Content v2。为此,在项目根目录中创建一个名为 nuxt.config.js 的新文件并添加以下代码:
export default {
// 启用 Nuxt Content 模块
modules: [
'@nuxt/content'
],
在上面的代码中,我们启用了 Nuxt Content 模块并设置了存储内容的目录。
步骤 3:创建内容文件
配置 Nuxt Content v2 后,你可以在指定目录中创建内容文件。默认情况下,Nuxt Content v2 支持 Markdown 和 YAML 文件格式。你可以在
content
目录中创建一个具有以下结构的新文件:---
title: '你好,世界!'
---
# 欢迎使用 Nuxt Content v2
这是使用 Nuxt Content v2 创建的 Markdown 文件示例。
在上面的代码中,我们创建了一个带有标题和示例内容的 Markdown 文件。
步骤 4:在页面上显示内容
现在我们已经创建了内容文件,我们可以在页面上显示内容。为此,在 components 目录中创建一个新的 Vue 组件,代码如下:
<script setup lang="ts">
const { path } = useRoute()
const articles = await queryContent(path).findOne()
</script>
<template>
<main>
<div>
<ContentRenderer :value="articles">
<template #empty>
<p>No content found.</p>
</template>
</ContentRenderer>
</div>
</main>
</template>