لماذا لا يؤدي إضافة ENV إلى تعديل إعدادات موقع جانب العميل؟

مرحبًا @sam،

ربما أقرأ هذا بشكل خاطئ أو أفعل ذلك بشكل خاطئ؟

في app.yml، أضفت متغير بيئة مخصصًا:

env:
   DISCOURSE_MY_ENV_TEST:  app

ثم أعيدت بناء الحاوية مع إضافة إضافة مخصصة صغيرة قمت فيها بتفريغ جميع إعدادات الموقع على النحو التالي:

console.log(Discourse.SiteSettings);

وقد تم تفريغ جميع إعدادات الموقع بشكل جميل في وحدة التحكم كما هو متوقع؛ لكن متغير البيئة المخصص الذي أضفته في app.yml لا يبدو أنه يصل إلى إعدادات الموقع كما توقعت.

هل أفعل ذلك بشكل خاطئ؟

السبب في أنني أسأل هو أنني وجدت هذا الموضوع أثناء البحث عن طريقة بسيطة للحصول على متغيرات البيئة داخل التطبيق لاستخدامها في إضافتي؛ وخطر ببالي أنك ربما تقول إنه يمكننا القيام بذلك كما هو موضح عن طريق إضافتها إلى ملف app.yml؛ لكنه لا يعمل كما هو متوقع.

ملاحظة: عذرًا عن إحياء هذا الموضوع القديم، لكنه بدا أقرب تطابق بناءً على البحث في الموقع، وفكرت أن الرد هنا قد يكون أفضل من بدء موضوع جديد.

يجب عليك تعريف إضافة (plugin) تحتوي على إعداد الموقع لكي يعمل هذا الأمر. نحن لا ننقل الأشياء عشوائيًا من متغيرات البيئة (ENV) إلى العميل.

مرحبًا سام،

فهمت الأمر، أعتقد:

إذًا، بشكل أساسي، لا يمكننا تعريف متغير بيئة جديد في ملف yml واستخدام هذا المتغير env: في إعدادات الموقع داخل التطبيق إلا إذا أنشأنا إضافة لهذا الغرض (لإضافة متغير بيئي إضافي للموقع، قابل للتكوين من ملف yml).

هل هذا الفهم صحيح من جهتي؟

شكرًا!

نعم، إذا كنت ترغب في تعريف إعداد موقع جديد، فيجب إضافته إلى مكون إضافي.