מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית
ב-NocoBase, תוסף צד-לקוח (Client Plugin) הוא הדרך העיקרית להרחבה והתאמה אישית של פונקציונליות צד-לקוח (frontend). על ידי הרחבת מחלקת הבסיס Plugin המסופקת על ידי @nocobase/client, מפתחים יכולים לרשום לוגיקה, להוסיף רכיבי עמוד, להרחיב תפריטים או לשלב פונקציונליות של צד שלישי בשלבי מחזור חיים שונים.
מבנה תוסף צד-לקוח בסיסי נראה כך:
כל תוסף עובר את מחזור החיים הבא ברצף כאשר הדפדפן מתרענן או היישום מאותחל:
| שיטת מחזור חיים | מועד ביצוע | תיאור |
|---|---|---|
| afterAdd() | מבוצע מיד לאחר הוספת התוסף למנהל התוספים | בשלב זה מופע התוסף כבר נוצר, אך לא כל התוספים סיימו את האתחול. מתאים לאתחול קל, כמו קריאת תצורה או קישור לאירועים בסיסיים. |
| beforeLoad() | מבוצע לפני שיטת load() של כל התוספים | ניתן לגשת לכל מופעי התוספים המופעלים (this.app.pm.get()). מתאים ללוגיקת הכנה התלויה בתוספים אחרים. |
| load() | מבוצע בעת טעינת התוסף | שיטה זו מבוצעת לאחר שכל התוספים סיימו את beforeLoad(). מתאים לרישום נתיבי צד-לקוח (frontend routes), רכיבי ממשק משתמש (UI components) ולוגיקות ליבה אחרות. |
בכל פעם שהדפדפן מתרענן, יבוצעו afterAdd() → beforeLoad() → load() ברצף.
החל מ-NocoBase 2.0, ממשקי ה-API להרחבת צד-לקוח מרוכזים בעיקר ב-FlowEngine. במחלקת התוסף, תוכלו לקבל את מופע המנוע דרך this.engine.
למידע נוסף, ראו: