मुख्य सामग्री पर जाएं

Components

Components आपके ऐप के निष्पादन योग्य भाग हैं। प्रत्येक component का एक type होता है जो यह निर्धारित करता है कि यह कैसे चलता है।

UI components

एक UI component एक वेब फ्रंटएंड है — React, Vue, Svelte, सादा HTML, या कोई भी फ्रेमवर्क जो एक पोर्ट पर सेवा प्रदान करता है।
{ name: 'Dashboard', type: 'ui', path: '.', runtime: { dev: 'bun run dev' } }
  • अधिकतम 1 प्रति ऐप — Kazzle प्रत्येक ऐप के लिए एक एकल preview URL असाइन करता है
  • runtime.dev — dev सर्वर के लिए कमांड (“Start preview” द्वारा उपयोग किया जाता है)
  • runtime.run — production बिल्ड को सेवा प्रदान करने के लिए कमांड
यदि runtime.dev सेट नहीं है, तो preview सिस्टम आपके package.json से bun run dev चलाता है।

Process components

एक process component एक backend सेवा, worker, या scheduled कार्य है।
{ name: 'API', type: 'process', path: './server/index.ts' }

Lifecycle: processMode

एक process component के दो lifecycles में से एक होता है:
  • processMode: 'persistent' (डिफ़ॉल्ट) — लंबे समय तक चलने वाला HTTP सर्वर। Triggers को घोषित path पर चलने वाले सर्वर में POST किया जाता है।
  • processMode: 'triggered' — entry स्क्रिप्ट प्रत्येक trigger के लिए spawn की जाती है और बाहर निकलती है। Production पर कोई निष्क्रिय मशीनें नहीं।

Triggers

Schedule और webhook triggers को component पर घोषित किया जाता है। एक component कई triggers ले सकता है। प्रत्येक trigger का एक name (component के भीतर अद्वितीय) और एक 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 processMode: 'persistent' के लिए आवश्यक है। processMode: 'triggered' के लिए इसे छोड़ दिया जाता है — स्क्रिप्ट इसके बजाय environment से TRIGGER_NAME पढ़ता है। पूर्ण trigger मॉडल, env-var अनुबंध, और HTTP प्रमाणीकरण हेडर के लिए Automations देखें।

Runtime commands

Phaseकब चलता हैउदाहरण
devDraft preview के दौरानbun run dev, vite, next dev
runProduction मेंbun run start, node dist/server.js
Draft preview package स्क्रिप्ट kazzle run -- <command> का उपयोग कर सकती हैं ताकि Kazzle स्थानीय पोर्ट और sibling component URLs को inject कर सके। Production process components को runtime.run में वास्तविक कमांड घोषित करना चाहिए क्योंकि deploy उस कमांड को production image में चलाता है।