Skip to main content

Компоненти

Компоненти — це виконавчі частини вашої програми. Кожен компонент має type, який визначає, як він працює.

UI компоненти

UI компонент — це веб-інтерфейс на React, Vue, Svelte, простому HTML або будь-якому фреймворку, що запускається на порту.
  • Максимум 1 на програму — Kazzle призначає один URL попереду на програму
  • runtime.dev.command — команда для dev-сервера (використовується “Запустити попередній перегляд”)
  • runtime.prod.build — команда для збірки production-образу
  • runtime.prod.command — команда для запуску production процесного компонента
Якщо runtime.dev.command не встановлено, система попереднього перегляду запускає bun run dev з вашого package.json.

Процесні компоненти

Процесний компонент — це backend-сервіс, воркер або запланована задача.

Життєвий цикл: processMode

Процесний компонент має один з двох життєвих циклів:
  • processMode: 'persistent' (за замовчуванням) — довгоживучий HTTP-сервер. Тригери надсилаються POST-запитами на запущений сервер за оголошеною path.
  • processMode: 'triggered' — скрипт входу запускається для кожного тригера й завершується. Немає неактивних машин у production.

Тригери

Тригери розкладу та вебхука оголошуються на компоненті. Один компонент може мати багато тригерів. Кожен тригер має name (унікальне в межах компонента) та kind.
path обов’язкова для processMode: 'persistent'. Для processMode: 'triggered' вона опускається — скрипт замість цього читає TRIGGER_NAME зі змінних оточення. Див. Автоматизація для повної моделі тригерів, контракту змінних оточення та заголовка HTTP-аутентифікації.

Команди runtime

Скрипти пакета для попереднього перегляду чернетки можуть використовувати kazzle run -- <command>, щоб Kazzle міг вводити локальні порти та URL компонентів-сусідів. Процесні компоненти production мають оголошувати реальну команду в runtime.prod.command, оскільки розгортання запускає цю команду в production-образі.