الأصول متاحة فقط لـ SCSS وليس لـ JS

مرحبًا،

خلال الأسبوع الماضي تقريبًا، كنت أقوم بتنسيق إعداد Discourse لعلامة تجارية تتضمن خطوطًا ثابتة وشعارات وأيقونات.

في البداية، لاحظت أن أي أصول قمت باستيرادها (بوضعها في مجلد الأصول والاستيراد تحت كائن الأصول في about.json) أصبحت متاحة فورًا للاستخدام كمتغير SCSS، لكنها استغرقت دقيقة أو دقيقتين للظهور في settings.theme_uploads.

الآن، ومع ذلك، لا تظهر على الإطلاق في settings.theme_uploads، مما يعني أنه لا يمكنني استخدامها في جافا سكريبت. وإذا قمت بإزالة أصل ما، فإنه يظل في كائن الإعدادات. أما استخدام SCSS فيبقى دون تأثر.

سيكون من الرائع الحصول على مساعدة في هذا الشأن.

نعم، أنا مرتبك قليلاً بشأن هذا أيضًا.

في أي نقطة يكون من الآمن استخدام مرجع مثل return settings.theme_uploads.blah في جافاسكريبت إن كان ذلك ممكنًا؟

أحصل على “غير معرف” لـ settings.theme_uploads في خاصيتي المحسوبة (في البداية على الأقل).

ما هو النمط الصحيح هنا؟

تمت إضافة بيانات settings.theme_uploads إلى جافاسكريبت مؤخرًا نسبيًا (بعد كتابة OP، أعتقد). يجب أن تكون موثوقة - نحن نستخدمها في السمات/المكونات الخاصة بنا. هل يمكنك شرح المشكلات التي تواجهها بمزيد من التفصيل؟

آه، لقد كنت أفتقد مجلد الأصول في مساري إلى الأصل، لذلك من المؤكد أن الرابط المعطل قد “أزال” الأصل:

{
  "name": "Cool Theme Component",
  "about_url": "",
  "component": true,
  "assets": {
    "background": "background.png"
  }
}

كان يجب أن يكون:

{
  "name": "Cool Theme Component",
  "about_url": "",
  "component": true,
  "assets": {
    "background": "assets/background.png"
  }
}

يا إلهي!

للعلم، أنا أشير إلى هذا في جافاسكريبت في مكون Ember، على سبيل المثال:

  @computed
  backgroundImage() {
    return settings.theme_uploads.background;
  }

سيؤدي ذلك إلى حدوث خطأ undefined عندما يكون المسار غير صحيح!

شكراً لاستماعك! @david، آسف لإضاعة وقتك.

@hakonbja هل قمت بحل مشكلتك؟