דלג לתוכן הראשי
פיתוח מקומי מאפשר לך להריץ את פרויקט הבקאנד שלך על המכונה שלך כדי שתוכל לבדוק שינויים באופן מיידי, לבחון נתונים מבלי להשפיע על פרודקשן, ולתפוס בעיות לפני פריסה. ראה Setup לדרישות מקדימות והוראות שלב אחר שלב.

מה רץ מקומית

שרת הפיתוח מטפל בתכונות אלה לחלוטין על המכונה שלך:
  • Functions: פונקציות בקאנד רצות מקומית עם reload אוטומטי בעת שינויי קבצים.
  • Entities: נתוני entity מאוחסנים במסד נתונים מקומי בזיכרון. שינויי schema נקלטים אוטומטית.
  • Media: העלאות קבצים נשמרות מקומית.
  • Authentication: רישום והתחברות אימייל/סיסמה רצים מקומית.
Automations של פונקציות אינן רצות מקומית.

מה מועבר

חלק מהתכונות עדיין לא מטופלות מקומית. כאשר שרת הפיתוח מקבל בקשה שאינו יכול לשרת, הוא מעביר אותה לאפליקציה המופצת שלך כך שהקריאה עדיין עובדת. השרת רושם אזהרה בכל פעם שזה קורה. תכונות מועברות כוללות:
  • Authentication: מסלולי OAuth והתחברות חברתית מופנים ל-Base44 כדי ש-cookies של session יעבדו כראוי. אימות אימייל/סיסמה רץ מקומית.
  • Core integrations: נקודות קצה כמו SendEmail או יצירת AI מועברות. העלאות קבצים הן היוצא מן הכלל ורצות מקומית.
  • Custom integrations: קריאות API שמוגדרות דרך מפרטי OpenAPI.
משמעות הדבר היא שהאפליקציה שלך ממשיכה לעבוד מקצה לקצה במהלך הפיתוח. תכונות שרצות מקומית משתמשות בנתונים מקומיים, וכל השאר משתמש בפרודקשן.

Functions

פונקציות בקאנד רצות מקומית על המכונה שלך. אתה יכול לקרוא להן מה-frontend שלך בדיוק כמו פונקציות מופצות.
  • כל פונקציה רצה כתהליך Deno נפרד, אותו יש להתקין בנפרד.
  • פונקציות נטענות מחדש אוטומטית כאשר אתה עורך את קוד המקור.
  • פלט הפונקציה מודפס ישירות ל-terminal שלך. אינך צריך להשתמש ב-base44 logs במהלך פיתוח מקומי.
כאשר בקשה מגיעה לשרת הפיתוח ומועברת ב-proxy לפונקציית Deno המקומית שלך, השרת עשוי להוסיף או לנרמל headers כך שהפונקציה שלך תראה את אותה צורת הקשר כמו בפרודקשן:
  • Base44-App-Id: מוגדר מה-header X-App-Id הנכנס כאשר הוא קיים.
  • Base44-Service-Authorization: מוגדר מה-header Authorization הנכנס כאשר הוא קיים, כך שקוד שקורא את header האימות של השירות מקומית מתאים להתנהגות המופצת.
  • Base44-Api-Url: מוגדר ל-URL הבסיס של שרת הפיתוח שלך (scheme ו-host), כך שפונקציות יכולות לבנות callbacks או URLs מוחלטים מול השרת המקומי.
ה-header Authorization המקורי עדיין מועבר ללא שינוי.
הבקשה הראשונה לפונקציה עשויה להיות איטית יותר כיוון ששרת הפיתוח מתחיל את התהליך לפי דרישה. בקשות עוקבות משתמשות מחדש בתהליך הפועל.

Entities

פעולות entity מועברות למסד נתונים מקומי בזיכרון במקום למסד הנתונים המרוחק. זה מאפשר לך ליצור, לקרוא, לעדכן ולמחוק רשומות מבלי להשפיע על נתוני הפרודקשן שלך.
  • כל הנתונים מאוחסנים בזיכרון ונמחקים כאשר אתה עוצר את שרת הפיתוח.
  • שינויי schema נקלטים אוטומטית. שינוי entity schema מנקה את כל הנתונים בזיכרון עבור אותה entity.
  • מנויים בזמן אמת עובדים מקומית. אם ה-frontend שלך משתמש ב-entities.subscribe(), הוא מקבל אירועים עבור שינויי entity מקומיים.
  • entity ה-User רץ מקומית. בעת ההפעלה, שרת הפיתוח זורע רשומת משתמש יחידה באמצעות פרטי האימות של ה-CLI שלך. פעולות קריאה ועדכון על me עובדות כמו בפרודקשן. בקשות ליצירה או מחיקת משתמשים מתעלמות בשקט, מה שתואם את התנהגות הפרודקשן שבה ניהול משתמשים ישיר אינו מותר.

Media

העלאות קבצים מטופלות מקומית כך שתוכל לבדוק תכונות מדיה מבלי להעלות לאחסון פרודקשן. קבצים נשמרים בתיקייה זמנית ומנוקים כאשר שרת הפיתוח נעצר. גודל הקובץ המקסימלי הוא 50 MB.

Authentication

רישום והתחברות אימייל/סיסמה רצים מקומית כאשר האפליקציה שלך משתמשת במערכת האימות המובנית. מסלולי OAuth והתחברות חברתית מופנים ל-Base44. לרישום משתמש חדש במהלך פיתוח באמצעות אימות אימייל/סיסמה:
  1. קרא לנקודת הקצה register. שרת הפיתוח מדפיס קוד אימות חד-פעמי ל-terminal שלך במקום לשלוח אימייל.
  2. שלח את הקוד לנקודת הקצה verify-OTP כדי לאשר את הכתובת וליצור את המשתמש.
  3. התחבר עם האימייל והסיסמה שנרשמו.
חשבון המפתח שלך (האימייל שבו השתמשת עבור base44 login) יכול להתחבר עם כל סיסמה, ללא צורך ברישום.
Tokens שמונפקים על ידי שרת הפיתוח המקומי תקפים רק מקומית. הם חתומים עם סוד שונה מפרודקשן, כך שהאפליקציה המופצת שלך תדחה אותם. כאשר אתה עובר מפיתוח מקומי לאפליקציה המופצת שלך, ראשית התנתק מה-session המקומי שלך או מחק את ה-tokens שלך מאחסון הדפדפן המקומי. לאחר מכן, התחבר שוב דרך האפליקציה המופצת כדי לקבל token תקף.

ראה גם

  • Setup: דרישות מקדימות והוראות שלב אחר שלב
  • Backend functions: כתוב פונקציות serverless שרצות על תשתית Base44
  • Entities: הגדר מודלי נתונים עבור האפליקציה שלך
  • Project structure: כיצד קבצי הפרויקט מאורגנים
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.