コンポーネント
コンポーネントはアプリの実行可能な部分です。各コンポーネントには、実行方法を決定するtypeがあります。
UIコンポーネント
UIコンポーネントはWebフロントエンド(React、Vue、Svelte、プレーンHTML、またはポートで提供される任意のフレームワーク)です。- アプリあたり最大1つ — Kazzleはアプリごとに1つのプレビューURLを割り当てます
runtime.dev— devサーバーのコマンド(「プレビューを開始」で使用)runtime.run— 本番ビルドを提供するコマンド
runtime.devが設定されていない場合、プレビューシステムはpackage.jsonからbun run devを実行します。
プロセスコンポーネント
プロセスコンポーネントはバックエンドサービス、ワーカー、またはスケジュール済みタスクです。ライフサイクル: processMode
プロセスコンポーネントには2つのライフサイクルのいずれかがあります:
processMode: 'persistent'(デフォルト) — 長時間実行されるHTTPサーバー。トリガーは宣言されたpathで実行中のサーバーにPOSTされます。processMode: 'triggered'— エントリスクリプトはトリガーごとにスポーンされて終了します。本番環境でアイドル状態のマシンはありません。
トリガー
スケジュールおよびWebhookトリガーはコンポーネント上で宣言されます。1つのコンポーネントは多くのトリガーを持つことができます。各トリガーにはname(コンポーネント内で一意)とkindがあります。
pathはprocessMode: 'persistent'に必須です。processMode: 'triggered'の場合は省略され、スクリプトは代わりに環境からTRIGGER_NAMEを読み取ります。
トリガーモデル、環境変数契約、およびHTTP認証ヘッダーの詳細については、オートメーションを参照してください。
ランタイムコマンド
| フェーズ | 実行時期 | 例 |
|---|---|---|
dev | ドラフトプレビュー中 | bun run dev、vite、next dev |
run | 本番環境 | bun run start、node dist/server.js |
kazzle run -- <command>を使用できるため、Kazzleはローカルポートと兄弟コンポーネントURLを注入できます。本番プロセスコンポーネントは、デプロイが本番イメージでそのコマンドを実行するため、runtime.runに実際のコマンドを宣言する必要があります。