@ bettercms-ai/ 预告运行时间
0配置组件预览 Next.js 和 Astro apps 在 BetterCMS 上的预览.
您不安装或配置此软件包 。 更好的CMS运行它给你:
- 在你的仓库的CI. 当有人打开 产出 在BetterCMS仪表板的一个组件,
更好的CMS 添加
.github/workflows/bcms-component-validation.yml到您的仓库( 一次) 并开始 这个 工作流程运行npx @bettercms-ai/preview-runtime validate,用于构建您的应用程序预览 将元件放在每个取景口的正版浏览器中,检查一下,并报告结果. - 在BetterCMS的托管上. CI中构建的预览是仪表板显示的,由您自己制作 带有活性内容的代码.
除了那个工作流程文件之外, 没有其他东西被写到您的仓库中 。 路径生成到 CI 检查建筑,然后删除.
它需要知道的东西
哪个文件执行组件 。 写组件的代理通过BetterCMS记录
MCP 工具 set_component_source (例如 src/components/sections/Hero.astro,或
components/Hero.tsx 带有导出名称).
图标
# Build a preview runtime from an app (used by `validate`; useful when debugging locally)
bcms-preview build --manifest manifest.json --out .bcms-preview-release [--cwd path/to/app]
# Validate one component (CI only; configured by BCMS_* environment variables the workflow sets)
bcms-preview validate
manifest.json数字 :
{ "components": [{ "id": "cmp_1", "source": { "path": "src/components/Hero.astro" } }] }
从页面取出段落
一个组件不必是一个独立的文件,其字段作为道具. 一节
npx @bettercms-ai/convert --componentize 从页面取出( 文件开始)
// @bettercms-ai/convert section v…由该标记确认,并与其分节合同:
<Section blockId="bcms-preview" overrides={props} page={{}} />所以活道具会像实例一样出现
自动复制.
没有文件的组件
放置在页面上的组件,或用于工程布局(导航、页脚),不需要记录文件.
名单上写着 kind: "page";预览会使您的应用程序真正路线——它的循环,孩子
组件、收藏和页面样式与部署的完全相同——只保留组件本身的元素
(单位:千美元)data-bcms-block,否则元素会保持其字段,否则布局会 <header>编号 :<footer>),并写作
活道具通过同样的通道 data-bcms-field 编号 : data-bcms-layout-field 编号 : data-bcms-props
属性。 有记录的文件在有记录时仍能获胜 .
v1 限制: 保存元素中的脚本不运行, 因此客户端岛会使其服务器 HTML 不运行
水分(鉴定不受影响). Next.js 页面路径(render → render-page(a) 未经测试
astro 已验证.
一个失败的验证报告什么坏了——应用程序服务器自己的错误行首先——和仪表板显示 在"运行时+控制台"下.
批量验证
一次运行可以验证多个组件对接单个构建. 当发送时 batch
(单位:千美元)BCMS_BATCH, JSON 阵列 { requestId, componentId, familyKey, nativeViewports }),验证符构建和
上传一次运行时间, 启动一个浏览器, 并依次验证每个组件
报告对该部分进行了核实,其余部分继续进行。 无 BCMS_BATCH 它验证单曲
名为 BCMS_REQUEST_ID 编号 : BCMS_COMPONENT_ID 编号 : BCMS_FAMILY_KEY 编号 : BCMS_NATIVE_VIEWPORTS,作为
从前 当任何组件无法验证时该步骤失败 .
预览如何使
- 天体: 与
output: "server"财务报告和审定财务报表@astrojs/node这样.astro组件在 使用仪表板发送的道具的服务器. - 下一个.js: 与
output: "standalone",因此客户端组件和async服务器组件 让他们在你的应用软件中做.
预览服务于 /__bettercms/component-preview/ 只接受一个短暂的,签名的
来自BetterCMS仪表板的会议.