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 { create: {} } 会自动写入 <checkout>/.kazzle/link.json——类似于 Vercel 的 .vercel/project.json。该文件是按克隆版本的,已被 gitignore。在克隆现有应用后,运行:
app { link: { appId } } 修复缺失的链接。