首页
/ Nuxt Content V3 中按文件夹路径检索内容的实现方案

Nuxt Content V3 中按文件夹路径检索内容的实现方案

2025-06-24 19:33:43作者:裘旻烁

在 Nuxt Content V3 的使用过程中,开发者经常需要根据文件目录结构来检索内容。本文将深入探讨在不同场景下的实现方案,帮助开发者更好地组织和管理内容资源。

页面集合(Page Collection)的路径查询

对于定义为页面集合(page类型)的内容,可以直接使用内置的path字段进行查询:

const { data } = await useAsyncData(`albums`, () => {
  return queryCollection('albums')
    .where('path', 'LIKE', '/albums%')
    .all()
})

这种方法特别适合需要国际化支持的场景,可以配合useI18n轻松实现多语言内容检索。

数据集合(Data Collection)的替代方案

当内容被定义为数据集合(data类型)时,系统不会自动生成path等页面特有字段。此时开发者可以:

  1. 在集合模式中自定义path字段:
// content.config.ts
defineCollection({
  schema: {
    path: z.string()
    // 其他字段...
  }
})
  1. 在Markdown文件的frontmatter中显式声明路径:
---
path: /albums/example
---

Markdown内容的渲染处理

即使用数据集合存储内容,仍然可以实现Markdown渲染:

  1. 在模式中定义body字段:
defineCollection({
  schema: {
    body: z.string()
    // 其他字段...
  }
})
  1. 使用ContentRenderer组件:
<ContentRenderer :value="contentData" />

最佳实践建议

  1. 如果内容需要作为独立页面访问,优先使用page类型集合
  2. 对于纯数据内容,使用data类型集合并自定义必要字段
  3. 多语言项目建议结合useI18n实现路径动态构建
  4. 复杂查询场景可以组合使用多个.where()条件

通过合理运用这些技巧,开发者可以构建出既灵活又高效的内容管理系统,满足各种业务场景的需求。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
466
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.03 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
112
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682