هل هناك طريقة لتقييد مكون سمة للمشرفين فقط؟

لقد طورت مكون سمة مخصصًا للمشرفين لدينا. يضيف هذا المكون نافذة منبثقة تذكر المشرفين بالنظر في تعليق المستخدم بعد معالجة علامة. لقد وضعت هذا المكون في javascripts/discourse/admin/components/modal/remove-post.gjs، وفي الأعلى، يستورد AdminUser باستخدام import AdminUser from "admin/models/admin-user";.

بالنسبة للمشرفين، كل شيء يعمل بشكل مثالي. ومع ذلك، يواجه المستخدمون العاديون مشاكل. لا يزال Discourse يحاول تحميل هذا المكون لجميع المستخدمين، وبما أن المستخدمين العاديين لا يقومون بتحميل أي وحدات admin/**، فإن ذلك يؤدي إلى الخطأ التالي:

Error: Could not find module `admin/models/admin-user`

من الناحية المثالية، أود أن يتم تحميل هذا المكون الفرعي (أو حتى هذا الاستيراد فقط) للمشرفين والمسؤولين فقط. هل هناك طريقة مدعومة رسميًا لضمان تحميل مكون Glimmer داخل مكون سمة للموظفين فقط (المشرفين/المسؤولين) في Discourse، بحيث لا يواجه المستخدمون العاديون أبدًا أخطاء في الوحدات المفقودة للاستيرادات الخاصة بالمسؤولين؟

إعجابَين (2)

في الوقت الحالي، أفضل استراتيجية هي استخدام optionalRequire كما يلي:

نحن نقوم بالكثير من العمل على أنظمة بناء JavaScript الخاصة بنا حاليًا، لذلك هناك احتمال أن يتغير هذا في المستقبل. إذا حدث ذلك، فستكون هناك رسالة إهمال مع تعليمات للترقية.

4 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.