Skip to content

本地组件开发

如果你需要为 @goenhance/cms-ui 贡献新组件或定制企业私有组件,请遵循以下步骤。

确保你已经克隆了仓库并安装了所有依赖:

Terminal window
pnpm install

进入 UI 包目录,在 src/components 下新建你的组件文件夹:

Terminal window
cd packages/ui/src/components
mkdir MyNewComponent

在文件夹内创建组件文件(如 index.tsx)并使用基础 UI 原语进行构建。

使用 Zod 定义组件的属性 Schema,以便于在 CMS 编辑器中进行校验和属性编辑。

import { z } from 'zod';
export const MyNewComponentSchema = z.object({
text: z.string().default('默认文本'),
color: z.string().optional(),
});

packages/ui/src/index.ts 中导出你的新组件,确保它能被外部识别。

为了让组件出现在 CMS 编辑器的左侧边栏并支持右侧属性编辑,你需要:

  • apps/docs/src/components/CMSEditor/constants.ts 中添加组件的默认配置。
  • Sidebar.tsx 中注册组件到对应的分类中。
  • PropertiesPanel.tsx 中为该组件编写属性配置表单(如果现有通用面板不满足需求)。

使用以下命令启动本地文档和编辑器进行实时预览:

Terminal window
pnpm dev

通过内置的 CMS 编辑器 拖入你的新组件,验证其展现效果和属性联动。