Kazzle CLI
使用 Kazzle CLI 在开发和预览中运行应用命令:-- 之后的所有内容都是实际命令。Kazzle 会先注入运行时环境。
kazzle run 仅用于开发和预览。它应该在 dev 脚本中使用,绝不能在 start 中使用。在生产环境中,已部署的运行时直接注入 PORT、HOST 和密钥,生产命令是裸命令(例如 bun run index.ts)。kazzle CLI 未安装在已部署的镜像中,因此调用 kazzle run 的生产命令会因 kazzle: command not found 而崩溃。
kazzle run 注入的内容
- 来自
kazzle.config.ts中组件env条目的密钥 PORT和HOST- 兄弟组件 URL,如
KAZZLE_APP_COMPONENT_SERVER_URL - Kazzle 运行时标识,如应用 ID 和组件名称
示例
dev 通过 kazzle run 运行,以便 Kazzle 可以注入预览端口和运行时环境。start 是裸命令 — 生产环境自行注入 PORT/HOST/密钥。
不要在 package.json 中放置密钥集合名称。将它们放在 kazzle.config.ts 中。
将检出链接到应用
kazzle run 需要知道此目录属于哪个应用。解析顺序:
- 命令行上的
--app=<appId> KAZZLE_APP_ID环境变量(当 Kazzle 启动受监管组件时自动设置)- 从当前目录向上遍历的
.kazzle/link.json
kazzle run 会以以下错误退出:
app { action: "create" } 会自动写入 <checkout>/.kazzle/link.json — 类似于 Vercel 的 .vercel/project.json。该文件是按克隆的,已被 gitignore。在克隆现有应用后,运行:
app { action: "link", appId } 修复缺失的链接。