Creating Functions
פונקציות Base44 הן פונקציות backend serverless שרצות על Deno. הן מוגדרות מקומית בפרויקט שלך ונפרסות ל-Base44 backend.תיקיית Functions
כל הגדרות הפונקציות חייבות להיות ממוקמות בתיקייתbase44/functions/ בפרויקט שלך. הפונקציה הפשוטה ביותר היא תיקייה עם קובץ entry.ts או entry.js בתוכה.
מבנה לדוגמה:
איך ליצור פונקציה
- צור תיקייה חדשה ב-
base44/functions/עם שם הפונקציה שלך (השתמש ב-kebab-case) - צור
entry.ts(אוentry.js) באותה תיקייה - פרוס את הפונקציה באמצעות ה-CLI
גילוי פונקציות
ה-CLI מגלה פונקציות מקבציentry.ts או entry.js. תיקייה שמכילה אחד מהקבצים האלה היא פונקציה:
| קובץ | שם פונקציה |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsאוentry.jsחייבים להיות בתוך תת-תיקייה בעלת שם, לא ישירות ב-base44/functions/- כל קבצי
*.js,*.ts, ו-*.jsonתחת תיקיית הפונקציה נכללים בעת פריסה - נתיבי פונקציה עם נקודה בכל קטע נתיב מתעלמים
קובץ Entry Point
הפונקציות רצות על Deno וחייבות לייצא באמצעותDeno.serve(). השתמש בקידומת npm: עבור חבילות npm.
אובייקט Request
הפונקציה מקבלת אובייקט DenoRequest סטנדרטי:
req.json()- נתח גוף JSONreq.text()- קבל גוף טקסט גולמיreq.headers- גש לכותרות בקשהreq.method- שיטת HTTP
אובייקט Response
החזר באמצעותResponse.json() לתגובות JSON:
דוגמה מלאה
מבנה תיקייה
entry.ts
שימוש בגישת Service Role
לפעולות ברמת אדמין, השתמש ב-asServiceRole:
שימוש בסודות
גש למשתני סביבה שהוגדרו בלוח האפליקציה:מוסכמות מתן שמות
- שם תיקייה: השתמש ב-kebab-case (למשל,
process-order,send-notification) - שם פונקציה: מגיע מנתיב התיקייה תחת
base44/functions/- תקף:
process-order,orders/process,send_notification,myFunction - לא תקף:
process.order,send.notification.v2
- תקף:
- קובץ entry: השתמש ב-
entry.tsאוentry.js
פריסת פונקציות
לאחר יצירת הפונקציה שלך, פרוס אותה ל-Base44:הערות
- פונקציות רצות על Deno runtime, לא Node.js
- השתמש בקידומת
npm:עבור חבילות npm (למשל,npm:@base44/sdk) - השתמש ב-
createClientFromRequest(req)כדי לקבל client שיורש את הקשר האימות של הקורא - הגדר סודות דרך לוח האפליקציה עבור מפתחות API
- ודא לטפל בשגיאות בחסד ולהחזיר קודי סטטוס HTTP מתאימים
טעויות נפוצות
| שגוי | נכון | למה |
|---|---|---|
base44/functions/myFunction.js (קובץ יחיד) | base44/functions/my-function/entry.ts | פונקציות חייבות לחיות בתת-תיקייה בעלת שם |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | שם הפונקציה מגיע מנתיב תת-התיקייה |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | Deno דורש קידומת npm: עבור חבילות npm |
תיקיית MyFunction או myFunction | תיקיית my-function | השתמש ב-kebab-case לשמות תיקיות |
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.

