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

السؤال

نشر

 

قمت بإعداد ملف .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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...