Skip to main content

组件

组件是应用的可执行部分。每个组件都有一个 type 来决定它的运行方式。

UI 组件

UI 组件是一个网页前端 — React、Vue、Svelte、纯 HTML 或任何在端口上运行的框架。
  • 每个应用最多 1 个 — Kazzle 为每个应用分配一个预览 URL
  • runtime.dev.command — 开发服务器命令(由”启动预览”使用)
  • runtime.prod.build — 构建生产镜像的命令
  • runtime.prod.command — 启动生产流程组件的命令
如果未设置 runtime.dev.command,预览系统会从 package.json 运行 bun run dev

流程组件

流程组件是后端服务、工作进程或定时任务。

生命周期:processMode

流程组件有两种生命周期之一:
  • processMode: 'persistent'(默认)— 长期运行的 HTTP 服务器。触发器被 POST 到声明的 path 处的运行服务器。
  • processMode: 'triggered' — 每次触发时生成入口脚本并退出。生产环境中没有空闲机器。

触发器

计划和 webhook 触发器在组件上声明。一个组件可以有多个触发器。每个触发器都有一个 name(在组件内唯一)和一个 kind
path 对于 processMode: 'persistent' 是必需的。对于 processMode: 'triggered',它被省略 — 脚本改为从环境变量读取 TRIGGER_NAME 查看自动化了解完整的触发器模型、环境变量约定和 HTTP 身份验证头。

运行时命令

草稿预览包脚本可以使用 kazzle run -- <command>,这样 Kazzle 可以注入本地端口和兄弟组件 URL。生产流程组件必须在 runtime.prod.command 中声明真实命令,因为部署会在生产镜像中运行该命令。