Skip to main content

Kazzle CLI

使用 Kazzle CLI 在开发和预览中运行应用命令:
-- 之后的所有内容都是实际命令。Kazzle 会先注入运行时环境。 kazzle run 仅用于开发和预览。它应该在 dev 脚本中使用,绝不能在 start 中使用。在生产环境中,已部署的运行时会直接注入 PORTHOST 和密钥,生产命令是裸命令(例如 bun run index.ts)。kazzle CLI 不会安装在已部署的镜像中,所以调用 kazzle run 的生产命令会因 kazzle: command not found 而崩溃。

kazzle run 注入的内容

  • 组件在 kazzle.config.tsenv 条目的密钥
  • PORTHOST
  • 同级组件 URL,如 KAZZLE_APP_COMPONENT_SERVER_URL
  • Kazzle 运行时标识,如应用 ID 和组件名称

示例

dev 通过 kazzle run 运行,以便 Kazzle 可以注入预览端口和运行时环境。start 是裸命令——生产环境自己注入 PORT/HOST/密钥。 不要在 package.json 中放置密钥集合名称。将它们放在 kazzle.config.ts 中。

将检出链接到应用

kazzle run 需要知道这个目录属于哪个应用。解析顺序:
  1. 命令行上的 --app=<appId>
  2. KAZZLE_APP_ID 环境变量(当 Kazzle 启动受监管的组件时自动设置)
  3. 从当前目录向上遍历的 .kazzle/link.json
如果以上都无法解析,kazzle run 会以以下错误退出:
app { create: {} } 会自动写入 <checkout>/.kazzle/link.json——类似于 Vercel 的 .vercel/project.json。该文件是按克隆版本的,已被 gitignore。在克隆现有应用后,运行:
AI 可以通过线程中的 app { link: { appId } } 修复缺失的链接。