الموقف
نريد إضافة مكتبة logging JS الخارجية إلى مثيل Discourse الخاص بنا لتحسين سير عمل تصحيح الأخطاء باستخدام هذه الواجهة الخفيفة للتسجيل التي تتيح لنا، على سبيل المثال، إعداد مستوى السجل عبر log.setLevel('debug').
يجب أن تكون هذه المكتبة الخارجية متاحة في جميع الإضافات المخصصة، والموضوع، ومكونات الموضوع المثبتة على تطبيقنا.
التنفيذ
• هل يؤدي استيراد JS عبر register_asset في إضافات مختلفة إلى استيراد ملف JS عدة مرات؟
• هل توجد مكتبة JS بديلة ذات وظائف مماثلة بعد أن ألغت Ember أداة التسجيل الخاصة بها لصالح console.log؟
اتبعنا حاليًا المسار التالي لتنفيذه:
- تثبيت إضافة تستورد JS خارجية وتجعل مكتبة JS متاحة عبر كائن النافذة (
window.log = log).
• استيراد مكتبة JS مرة واحدة فقط.
• تعتمد الإضافات الأخرى/الموضوع/مكونات الموضوع على تلك الإضافة، كما أن أشياء مثل الإضافات مفتوحة المصدر ستجبر المستخدمين على تثبيت كلا الإضافتين.
هل هذا منطقي أم تقترح نهجًا مختلفًا؟