logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo

התחלה מהירה

סקירת פיתוח Plugin
כתיבת Plugin ראשון
מבנה תיקיות הפרויקט

פיתוח Server-side

סקירה כללית
Plugin
Collections טבלאות נתונים
Database: פעולות
DataSourceManager - ניהול מקורות נתונים
ResourceManager
ACL בקרת הרשאות
Middleware
Cache
Event
Context - הקשר בקשה
Migration סקריפט שדרוג
Logger יומן
Telemetry
I18n בינאום
Command
CronJobManager ניהול משימות מתוזמנות
Test

פיתוח Client-side

סקירה כללית
Plugin
Context
Router ניתוב
ACL בקרת הרשאות
DataSourceManager - ניהול מקורות נתונים
Resource
Request
Styles & Themes
Logger יומן
I18n בינאום
Test

אחר

מדריך שדרוג Plugin
רשימת שפות
ניהול תלויות
בנייה
Next Pageסקירת פיתוח Plugin
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#סקירה כללית של פיתוח תוספים

NocoBase מאמצת ארכיטקטורת מיקרו-ליבה, כאשר הליבה אחראית רק על תזמון מחזור החיים של התוספים, ניהול תלויות ועטיפת יכולות בסיסיות. כל הפונקציונליות העסקית מסופקת כתוספים. לכן, הבנת המבנה הארגוני, מחזור החיים וגישת הניהול של התוספים היא הצעד הראשון בהתאמה אישית של NocoBase.

#עקרונות ליבה

  • חבר והפעל (Plug and Play): ניתן להתקין, להפעיל או להשבית תוספים לפי הצורך, מה שמאפשר שילוב גמיש של פונקציות עסקיות ללא צורך בשינוי קוד.
  • אינטגרציה מלאה (Full-stack Integration): תוספים כוללים בדרך כלל מימושים הן בצד השרת והן בצד הלקוח, מה שמבטיח עקביות בין לוגיקת הנתונים לאינטראקציות ממשק המשתמש.

#מבנה תוסף בסיסי

כל תוסף הוא חבילת npm עצמאית, ובדרך כלל מכיל את מבנה הספריות הבא:

plugin-hello/
├─ package.json          # שם התוסף, תלויות ומטא-נתונים של תוסף NocoBase
├─ client.js             # תוצר בנייה של צד הלקוח, לטעינה בזמן ריצה
├─ server.js             # תוצר בנייה של צד השרת, לטעינה בזמן ריצה
├─ src/
│  ├─ client/            # קוד מקור של צד הלקוח, יכול לרשום בלוקים, פעולות, שדות וכו'.
│  └─ server/            # קוד מקור של צד השרת, יכול לרשום משאבים, אירועים, פקודות וכו'.

#מוסכמות ספריות וסדר טעינה

NocoBase סורקת את הספריות הבאות כברירת מחדל כדי לטעון תוספים:

my-nocobase-app/
├── packages/
│   └── plugins/          # תוספים בפיתוח (עדיפות גבוהה ביותר)
└── storage/
    └── plugins/          # תוספים מקומפלים, לדוגמה תוספים שהועלו או פורסמו
  • packages/plugins: ספריית תוספים המשמשת לפיתוח מקומי, תומכת בקומפילציה ודיבוג בזמן אמת.
  • storage/plugins: מאחסנת תוספים מקומפלים, כגון מהדורות מסחריות או תוספים של צד שלישי.

#מחזור חיים ומצבי תוסף

תוסף עובר בדרך כלל את השלבים הבאים:

  1. יצירה (Create): יצירת תבנית תוסף באמצעות ה-CLI.
  2. משיכה (Pull): הורדת חבילת התוסף באופן מקומי, אך היא עדיין לא נכתבה למסד הנתונים.
  3. הפעלה (Enable): בהפעלה הראשונה, מתבצע "רישום + אתחול"; הפעלות עוקבות טוענות רק את הלוגיקה.
  4. השבתה (Disable): עצירת פעולת התוסף.
  5. הסרה (Remove): הסרה מוחלטת של התוסף מהמערכת.
TIP
  • pull אחראי רק על הורדת חבילת התוסף; תהליך ההתקנה בפועל מופעל על ידי ה-enable הראשון.
  • אם תוסף נמשך (pull) אך לא הופעל (enable), הוא לא ייטען.

#דוגמאות לפקודות CLI

# 1. יצירת שלד תוסף
yarn pm create @my-project/plugin-hello

# 2. משיכת חבילת תוסף (הורדה או קישור)
yarn pm pull @my-project/plugin-hello

# 3. הפעלת תוסף (מתקין אוטומטית בהפעלה הראשונה)
yarn pm enable @my-project/plugin-hello

# 4. השבתת תוסף
yarn pm disable @my-project/plugin-hello

# 5. הסרת תוסף
yarn pm remove @my-project/plugin-hello

#ממשק ניהול תוספים

גשו למנהל התוספים בדפדפן כדי לצפות ולנהל תוספים באופן אינטואיטיבי:

כתובת ברירת מחדל: http://localhost:13000/admin/settings/plugin-manager

מנהל תוספים