Antd Mobile Docs Guide (extends root AGENTS.md)
本文件仅补充 apps/antd-mobile-docs 的差异约束;其余规则遵循仓库根目录 AGENTS.md。
目录约定
- 文档页面位于
zh/,示例代码位于zh/demos/(React.tsx)。 - 站点配置位于
.vitepress/,公共静态资源位于public/。 .vitepress/cache与.vitepress/dist为构建产物,禁止手动编辑。
React Demo 桥接
- 本站基于 VitePress(Vue),demo 为 React 组件:
.vitepress/theme/react-demo.ts提供仅含懒加载入口的createReactDemoRegistry,预览加载 demo 时才导入react-demo-runtime.ts,把import.meta.glob的.tsxdemo 包装为「Vue 外壳 + ReactcreateRoot」的 island 组件,再注入主题的mobilePreviewRegistryKey供手机壳 iframe 预览使用。 createRoot仅在 Vue 组件onMounted时调用,保证 VitePress SSR 构建安全;如需调整桥接逻辑,务必保持这一约束。zh/demos/下的以_开头的目录(如_components/)会被 registry 的 glob 排除,不要把可预览 demo 放进这些位置;新增工具文件时需同步在.vitepress/theme/index.ts的负模式中排除。
常用命令
pnpm --filter antd-mobile-docs dev:本地启动文档站。pnpm --filter antd-mobile-docs docs:build:构建静态站点。pnpm --filter antd-mobile-docs preview:预览构建产物。pnpm --filter antd-mobile-docs lint/format:ESLint 校验 / 自动修复。
维护约定
示例优先从
@silver-formily/antd-mobile导入,FormProvider/Field/SchemaField来自@silver-formily/react,createForm来自@silver-formily/core,不直接耦合packages/antd-mobile内部实现细节。如果新增组件页面,请同步补一个最小 demo,优先保持“能跑通主链路”而不是一开始就追求页面齐全。
文档站只 alias
@silver-formily/antd-mobile源码;其余内部依赖由 Turbo 的dev/docs:build依赖关系自动预构建。移动端预览 demo 的提交事件使用各示例内独立的
onSubmit函数,通过 移动端预览 iframe 注入的Prompts.alert(JSON.stringify(values, null, 2))展示结果。不要依赖共享的结果展示函数,也不要额外渲染FormConsumer/pre这类实时值预览区块;异步提交应保留原有等待流程。桌面端浏览时的触摸模拟依赖
@vant/touch-emulator(在主题入口按浏览器端动态引入)。antd-mobile 及其样式仅由移动端预览运行时加载;主题入口和 registry 禁止静态导入 antd-mobile 或 demo 样式,避免全局 CSS 污染文档页面。不要通过覆盖
html/body/a补偿样式污染。