Skip to main content

Components

Components là những phần có thể thực thi của ứng dụng của bạn. Mỗi component có một type xác định cách nó chạy.

UI components

Một UI component là một frontend web — React, Vue, Svelte, plain HTML, hoặc bất kỳ framework nào phục vụ trên một port.
  • Tối đa 1 trên mỗi ứng dụng — Kazzle gán một URL preview duy nhất cho mỗi ứng dụng
  • runtime.dev.command — lệnh cho dev server (được sử dụng bởi “Start preview”)
  • runtime.prod.build — lệnh để build production image
  • runtime.prod.command — lệnh để khởi động một production process component
Nếu runtime.dev.command không được đặt, hệ thống preview chạy bun run dev từ package.json của bạn.

Process components

Một process component là một backend service, worker, hoặc scheduled task.

Lifecycle: processMode

Một process component có một trong hai lifecycle:
  • processMode: 'persistent' (mặc định) — HTTP server chạy lâu dài. Triggers được POST vào server đang chạy tại path được khai báo.
  • processMode: 'triggered' — entry script được spawn cho mỗi trigger và thoát. Không có máy idle trên production.

Triggers

Schedule và webhook triggers được khai báo trên component. Một component có thể mang nhiều triggers. Mỗi trigger có một name (duy nhất trong component) và một kind.
path là bắt buộc cho processMode: 'persistent'. Đối với processMode: 'triggered' nó được bỏ qua — script đọc TRIGGER_NAME từ environment thay thế. Xem Automations để biết đầy đủ trigger model, env-var contract, và HTTP authentication header.

Runtime commands

Draft preview package scripts có thể sử dụng kazzle run -- <command> để Kazzle có thể inject local ports và URLs của sibling components. Production process components phải khai báo lệnh thực tế trong runtime.prod.command vì deploy chạy lệnh đó trong production image.