מודולי Medusa: הדרך המודרנית
ב-Medusa 2.x, מערכת הפלאגינים הישנה הוחלפה ב-מודולי Medusa. אלה חבילות עצמאיות שמכילות את המודלים, השירותים, המיגרציות ונקודות הקצה של ה-API שלך. במקום לשנות את קוד הליבה, אתה בונה מודול עצמאי. זה שומר על הפרויקט שלך ניתן לשדרוג ונקי. אף אחת מבעיות הפלאגינים הישנות לא נשארת. אף אחד מהפתרונות הזמניים לא נדרש.
למה לבחור במודולים על פני פלאגינים?
- פלאגינים היו מחוברים היטב לליבה. מודולים הם עצמאיים וניתנים לבדיקה. אף אחד מהחיבורים לא קיים. אף אחת מתופעות הלוואי לא מופיעה.
- מודולים ניתנים לשיתוף דרך npm. אף אחד ממחסומי ההפצה לא קיים. אף אחד מקונפליקטי הגרסאות לא מתעורר.
- אתה יכול להתאים אישית כל לוגיקה עסקית: הנחות, נקודות נאמנות, כללי מלאי. אף אחת מהמגבלות הסטנדרטיות לא חלה. אף אחד מהקוד המקורי לא נגע.
דוגמה: בניית מודול קוד הנחה
נניח שאתה צריך מערכת הנחות גמישה. במקום לבצע פיצול ל-Medusa, אתה יוצר מודול עם:
- ישות
medusa-config.ts(באמצעות MikroORM) modules[]שמטפל בכללים העסקיים- מיגרציות ליצירת טבלת מסד הנתונים
- נתיבי API לניהול קודים
הכל בתוך חבילה אחת. אף אחת מהתלויות החיצוניות לא נדרשת. אף אחד מקבצי הליבה לא משתנה. אף אחד מהעדכונים לא שובר את הפונקציונליות שלך.
חיבור המודול שלך
הוסף אותו ל-src/:
// src/models/custom-item.ts import { model } from '@medusajs/framework/utils'; const CustomItem = model.define('custom_item', { id: model.id().primaryKey(), name: model.text(), sku: model.text().unique(), metadata: model.json().nullable(), is_active: model.boolean().default(true), sort_order: model.number().default(0), product_id: model.text().nullable(), created_at: model.dateTime(), updated_at: model.dateTime(), }); export default CustomItem; זהו. המודול זמין בכל היישום שלך. אף אחת מההגדרות הנוספות לא נדרשת. אף אחד מהקוד החוזר לא נדרש.
אנחנו בונים מודולים מותאמים אישית עבורך
הצוות שלנו יכול לתכנן וליישם מודול Medusa המותאם לצרכים שלך. מ-CRUD פשוט ועד לתהליכי עבודה מורכבים. אף אחד מהפרויקטים לא קטן מדי. אף אחת מהדרישות לא בלתי אפשרית. צור קשר לייעוץ. אף אחת מהשיחות הראשוניות לא מחויבת בתשלום.







