اذهب إلى المحتوى
  • 0

لا يمكنني إسخدام متغيرات البيئة في React - Gatsby

Adam Ebrahim

السؤال

 

قمت بإعداد ملف .env و gatsby-config.js على النحو التالي:

// ملف .env.development
GATSBY_APP_NAME=Title

// ملف gatsby-config.js
// من المفترض أن يتم طباعة كل المتغيرات الموجودة في الملف السابق
// لكن يتم طباعة {}
console.log(process.env)

في كل مرة يتم طباعة كائن فارغ { } ولا أعرف السبب

في البداية لم أكن استخدم البادئة GATSBY_  لكن بعد قراءة توثيق gatsby قمت بإضافتها ولكن هذا لم يحل المشكلة أيضًا.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

 تأكد من وضع الملف في المسار ال root أي يعتبر بجوار المجلد src

وقم أيضاً بطباعة المتغير بشكل مباشر للتأكد من الوصول للمتغيرات كالتالي

console.log(process.env.GATSBY_APP_NAME)

حيث أن webpack تقوم بتضمين هذه المتغيرات فقط في المشروع ولذلك لا يمكنك الوصول لprocess.env من المتصفح

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لا يمكنك طباعة كل المتغيرات مرة واحدة , عوضا عن ذلك يجب تمرير اسم المتغير لتتم القراءة بشكل صحيح أثناء البناء , و ببساطة هذا ﻷن متصفح الواجهة الأمامية نفسه ليس له أي وصول لملف البيئة فالعملية تخص الخادم وحده و لذلك أثناء البناء يتم إستبدال أي متغير معرف على هذا النحو :

process.env.MY_VAR

بقيمته الفعلية و يتم البناء بشكل عادي .

في حين أن المتغير :

process.env

يتم تجاهله بطبيعة الحال و يتم إعادة كائن فارغ عن طريقه . 

فعوضا عن طباعة كل المتغيرات يمكنك فقط طباعة المتغير الذي تحتاج و إستعماله بشكل عادي .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...