Include assets (e.g. images, fonts) in themes and components يبدو أنه لا يزال يشير إلى الطريقة القديمة (handlebars)، إذا كنت أفهم بشكل صحيح. هل طريقة Glimmer الجديدة متاحة بالفعل لجعل الصور من دليل assets الخاص بمكون السمة قابلة للاستخدام في قالب HTML الخاص بنفس مكون السمة؟
حالة الاستخدام الخاصة بي هي استبدال مكون السمة القديم المعطّل الموصوف في Templating of my "component" broke. How do I fix it?.
ما جربته
لقد قمت بإنشاء مشروع مكون سمة جديد باستخدام discourse_theme new discourse-tc-geowebforum-sponsors ثم حاولت محاكاة المكون الإضافي السابق بدون المنطق الشرطي وباستخدام قالب مُضمن، لكن ذلك أدى إلى:
[THEME 6 'geowebforum-sponsors'] Error: [THEME 6 'geowebforum-sponsors'] Compile error: SyntaxError: /theme-6/discourse/api-initializers/geowebforum-sponsors.gjs: Attempted to resolve a helper in a strict mode template, but that value was not in scope: theme-relative-url:
في وحدة تحكم المتصفح.
لقد جربت أيضًا مجموعات مختلفة من:
- إخراج القالب إلى ثابت
- أقواس متعرجة مفردة (بدلاً من مزدوجة)
- استخدام استدعاء دالة (
themeRelativeUrl("asseco_berit.jpg")) داخل الأقواس المتعرجة - نقل القالب إلى
javascripts/discourse/components/geowebforum-sponsors.gjs(واستيراده من المُهيّئ) - نقل القالب إلى
javascripts/components/geowebforum-sponsors.gjs(واستيراده من المُهيّئ) - إدخال
class GEOWebforumSponsorsComponent extends Component {}في هذا الملف واستيراده في المُهيّئ (مع تصدير القالب من نفس الملف كـtemplateبجوار الفئة، كما اقترح عليّ نموذج لغوي كبير - ما زلت غير متأكد مما إذا كان ذلك منطقيًا).
إما أنني حصلت على:
- نفس الخطأ (على الرغم من أنه من هذا الملف الآخر)
أو klass is not an Ember component
أو- عناصر نائبة حرفية للقالب في عنصر DOM الناتج، مما أدى بالطبع إلى أخطاء 404 لمصادر الصور