Skip to main content

Komponenten

Komponenten sind die ausführbaren Teile deiner App. Jede Komponente hat einen type, der bestimmt, wie sie ausgeführt wird.

UI-Komponenten

Eine UI-Komponente ist ein Web-Frontend — React, Vue, Svelte, Plain HTML oder jedes Framework, das auf einem Port läuft.
  • Max. 1 pro App — Kazzle weist jeder App eine einzelne Vorschau-URL zu
  • runtime.dev.command — Befehl für den Dev-Server (wird von „Vorschau starten” verwendet)
  • runtime.prod.build — Befehl zum Erstellen des Produktionsimages
  • runtime.prod.command — Befehl zum Starten einer Produktions-Prozesskomponente
Wenn runtime.dev.command nicht gesetzt ist, führt das Vorschausystem bun run dev aus deiner package.json aus.

Prozesskomponenten

Eine Prozesskomponente ist ein Backend-Service, Worker oder geplante Aufgabe.

Lebenszyklus: processMode

Eine Prozesskomponente hat einen von zwei Lebenszyklen:
  • processMode: 'persistent' (Standard) — lange laufender HTTP-Server. Trigger werden in den laufenden Server unter dem deklarierten path gesendet.
  • processMode: 'triggered' — das Entry-Skript wird pro Trigger gestartet und beendet. Keine untätigen Maschinen in der Produktion.

Trigger

Schedule- und Webhook-Trigger werden auf der Komponente deklariert. Eine Komponente kann viele Trigger tragen. Jeder Trigger hat einen name (eindeutig innerhalb der Komponente) und eine kind.
path ist erforderlich für processMode: 'persistent'. Für processMode: 'triggered' wird es weggelassen — das Skript liest stattdessen TRIGGER_NAME aus der Umgebung. Siehe Automationen für das vollständige Trigger-Modell, den Env-Var-Vertrag und den HTTP-Authentifizierungs-Header.

Runtime-Befehle

Entwurfsvorschau-Paketskripte können kazzle run -- <command> verwenden, damit Kazzle lokale Ports und URLs von Geschwisterkomponenten injizieren kann. Produktions-Prozesskomponenten müssen den echten Befehl in runtime.prod.command deklarieren, da die Bereitstellung diesen Befehl im Produktionsimage ausführt.