Chuyển đến nội dung chính

Thành phần

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

Thành phần giao diện

Một thành phần giao diện là một giao diện web — React, Vue, Svelte, HTML thuần túy hoặc bất kỳ framework nào phục vụ trên một cổng.
{ name: 'Dashboard', type: 'ui', path: '.', runtime: { dev: 'bun run dev' } }
  • Tối đa 1 trên mỗi ứng dụng — Kazzle gán một URL xem trước duy nhất cho mỗi ứng dụng
  • runtime.dev — lệnh cho máy chủ phát triển (được sử dụng bởi “Bắt đầu xem trước”)
  • runtime.run — lệnh để phục vụ bản dựng sản xuất
Nếu runtime.dev không được đặt, hệ thống xem trước chạy bun run dev từ package.json của bạn.

Thành phần quy trình

Một thành phần quy trình là một dịch vụ backend, worker hoặc tác vụ được lên lịch.
{ name: 'API', type: 'process', path: './server/index.ts' }

Vòng đời: processMode

Một thành phần quy trình có một trong hai vòng đời:
  • processMode: 'persistent' (mặc định) — máy chủ HTTP chạy lâu dài. Các kích hoạt được POST vào máy chủ đang chạy tại path được khai báo.
  • processMode: 'triggered' — tập lệnh nhập được tạo cho mỗi kích hoạt và thoát. Không có máy nhàn rỗi trên sản xuất.

Kích hoạt

Các kích hoạt lịch biểu và webhook được khai báo trên thành phần. Một thành phần có thể mang nhiều kích hoạt. Mỗi kích hoạt có một name (duy nhất trong thành phần) và một kind.
{
  name: 'events',
  type: 'process',
  path: './components/events/index.ts',
  processMode: 'persistent',
  triggers: [
    { name: 'cleanup', kind: 'schedule', schedule: '0 * * * *', path: '/cron/cleanup' },
    { name: 'stripe',  kind: 'webhook',                          path: '/webhook/stripe' },
  ],
}
path là bắt buộc cho processMode: 'persistent'. Đối với processMode: 'triggered' nó bị bỏ qua — tập lệnh đọc TRIGGER_NAME từ môi trường thay thế. Xem Automations để biết mô hình kích hoạt đầy đủ, hợp đồng biến môi trường và tiêu đề xác thực HTTP.

Lệnh thời gian chạy

Giai đoạnKhi nó chạyVí dụ
devTrong xem trước bản nhápbun run dev, vite, next dev
runTrong sản xuấtbun run start, node dist/server.js
Các tập lệnh gói xem trước bản nháp có thể sử dụng kazzle run -- <command> để Kazzle có thể chèn các cổng cục bộ và URL thành phần anh chị em. Các thành phần quy trình sản xuất phải khai báo lệnh thực trong runtime.run vì triển khai chạy lệnh đó trong hình ảnh sản xuất.