功能
工作区
Fumadocs MDX 多工作区/Monorepo 支持
工作区是一个独立的项目,拥有自己的配置和内容。工作区不需要单独的 package.json 文件,只需要一个配置文件。
配置
修改根目录的 source.config.ts:
import { defineConfig } from 'fumadocs-mdx/config';
export default defineConfig({
workspaces: {
'my-workspace': {
dir: 'my-workspace',
config: await import('./my-workspace/source.config.ts'),
},
},
});关键特性
cwd参数引用当前工作区目录- 配置保持独立,不会跨工作区继承
- 运行 dev 或 build 服务器会从所有工作区生成集合条目
访问集合
工作区生成的文件位于 .source/{workspace}/*,通过以下方式访问:
import { docs } from 'collections/my-workspace/server';使用 multiple() 函数集成多个源:
import { loader, multiple } from 'fumadocs-core/source';
import { docs } from 'collections/server';
import * as MyWorkspace from 'collections/my-workspace/server';
export const source = loader(
multiple({
root: docs.toFumadocsSource(),
'my-workspace': MyWorkspace.docs.toFumadocsSource(),
}),
{ baseUrl: '/docs' },
);实际应用场景
此方式支持分布式文档架构,内容可以跨多个仓库分布,CI/CD 管道可通过中央文档中心触发统一部署。