toMedia
访问集合

动态加载

Fumadocs MDX 按需编译集合内容

动态入口提供与 server 入口相同的输出,但编译后的属性需要通过 load() 方法异步加载。

要求

  • 必须先在 docs/doc 集合上启用动态模式
  • dynamic 入口点导入,而非 server
  • 编译属性需要通过专用方法异步加载

文档集合示例

import { docs } from 'collections/dynamic';
import { loader } from 'fumadocs-core/source';

export const source = loader({
  baseUrl: '/docs',
  source: docs.toFumadocsSource(),
});

博客文章集合示例

import { blogPosts } from 'collections/dynamic';
import { toFumadocsSource } from 'fumadocs-mdx/runtime/server';
import { loader } from 'fumadocs-core/source';

export const blog = loader({
  baseUrl: '/blog',
  source: toFumadocsSource(blogPosts, []),
});

工作流差异

动态模式将编译推迟到内容被主动请求时,区别于静态的服务端编译方式。此模式适合需要灵活、运行时驱动内容加载的场景。

On this page