Skip to main content

Componenti

I componenti sono le parti eseguibili della tua app. Ogni componente ha un type che determina come viene eseguito.

Componenti UI

Un componente UI è un frontend web — React, Vue, Svelte, HTML puro, o qualsiasi framework che gira su una porta.
  • Max 1 per app — Kazzle assegna un singolo URL di anteprima per app
  • runtime.dev.command — comando per il server di sviluppo (usato da “Avvia anteprima”)
  • runtime.prod.build — comando per compilare l’immagine di produzione
  • runtime.prod.command — comando per avviare un componente di processo in produzione
Se runtime.dev.command non è impostato, il sistema di anteprima esegue bun run dev dal tuo package.json.

Componenti di processo

Un componente di processo è un servizio backend, worker, o attività pianificata.

Ciclo di vita: processMode

Un componente di processo ha uno di due cicli di vita:
  • processMode: 'persistent' (predefinito) — server HTTP a lunga esecuzione. I trigger vengono inviati tramite POST al server in esecuzione al path dichiarato.
  • processMode: 'triggered' — lo script di ingresso viene avviato per ogni trigger e termina. Nessuna macchina inattiva in produzione.

Trigger

I trigger di pianificazione e webhook sono dichiarati sul componente. Un componente può avere molti trigger. Ogni trigger ha un name (univoco all’interno del componente) e un kind.
path è obbligatorio per processMode: 'persistent'. Per processMode: 'triggered' viene omesso — lo script legge TRIGGER_NAME dall’ambiente. Vedi Automazioni per il modello completo di trigger, il contratto delle variabili d’ambiente e l’intestazione di autenticazione HTTP.

Comandi di runtime

Gli script di pacchetto dell’anteprima in bozza possono usare kazzle run -- <command> in modo che Kazzle possa iniettare porte locali e URL dei componenti fratelli. I componenti di processo in produzione devono dichiarare il comando reale in runtime.prod.command perché il deploy esegue quel comando nell’immagine di produzione.