Skip to main content

Komponenty

Komponenty to wykonywalne części Twojej aplikacji. Każdy komponent ma type, który określa sposób jego uruchomienia.

Komponenty interfejsu użytkownika

Komponent interfejsu użytkownika to frontend internetowy — React, Vue, Svelte, zwykły HTML lub dowolny framework działający na porcie.
  • Maksymalnie 1 na aplikację — Kazzle przypisuje jeden adres URL podglądu na aplikację
  • runtime.dev.command — polecenie dla serwera deweloperskiego (używane przez “Uruchom podgląd”)
  • runtime.prod.build — polecenie do zbudowania obrazu produkcyjnego
  • runtime.prod.command — polecenie do uruchomienia komponentu procesu produkcyjnego
Jeśli runtime.dev.command nie jest ustawiony, system podglądu uruchamia bun run dev z Twojego package.json.

Komponenty procesów

Komponent procesu to usługa backend, worker lub zaplanowane zadanie.

Cykl życia: processMode

Komponent procesu ma jeden z dwóch cykli życia:
  • processMode: 'persistent' (domyślnie) — długotrwały serwer HTTP. Wyzwalacze są wysyłane POST do uruchomionego serwera na zadeklarowanej path.
  • processMode: 'triggered' — skrypt wejściowy jest uruchamiany dla każdego wyzwalacza i kończy się. Brak bezczynnych maszyn w produkcji.

Wyzwalacze

Wyzwalacze harmonogramu i webhook są deklarowane na komponencie. Jeden komponent może mieć wiele wyzwalaczy. Każdy wyzwalacz ma name (unikatową w obrębie komponentu) i kind.
path jest wymagana dla processMode: 'persistent'. Dla processMode: 'triggered' jest pominięta — skrypt odczytuje TRIGGER_NAME ze zmiennych środowiskowych. Zapoznaj się z Automatyzacją, aby poznać pełny model wyzwalaczy, umowę zmiennych środowiskowych i nagłówek uwierzytelniania HTTP.

Polecenia runtime

Skrypty pakietu podglądu roboczego mogą używać kazzle run -- <command>, aby Kazzle mogła wstrzyknąć lokalne porty i adresy URL komponentów równorzędnych. Komponenty procesów produkcyjnych muszą zadeklarować rzeczywiste polecenie w runtime.prod.command, ponieważ wdrożenie uruchamia to polecenie w obrazie produkcyjnym.