process.env
قراءة متغيّرات البيئة process.env
process.env كائن يحوي متغيّرات بيئة نظام التشغيل التي شُغّلت العملية بها — الطريقة القياسية لفصل الإعدادات الحسّاسة عن الكود.
process.env كائن عادي مفاتيحه أسماء متغيّرات البيئة وقيمه نصوص. يُقرأ من البيئة التي أطلقت عملية Node (مثل PATH أو متغيّرات وضعتها بملف .env عبر مكتبة كـ dotenv). يمكن أيضًا الكتابة عليه أثناء التشغيل (process.env.KEY = 'value')، لكن هذا التعديل محلي للعملية الحالية فقط ولا ينعكس خارجها ولا على العمليات الأخرى.
على ويندوز أسماء المتغيّرات غير حسّاسة لحالة الأحرف (case-insensitive)، بعكس لينكس وماك.
الصياغة
process.env.KEY // string | undefined
📄 مثال
// افترض تشغيل: PORT=4000 node server.js
const port = process.env.PORT || 3000;
console.log(`الخادم سيعمل على المنفذ ${port}`);
// كتابة قيمة أثناء التشغيل (محلية للعملية الحالية فقط):
process.env.MODE = 'production';أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| process.env.KEY | قراءة قيمة متغيّر بيئة — undefined إن لم يكن موجودًا |
| process.env.KEY = value | تعيين قيمة أثناء التشغيل، محلي للعملية الحالية فقط |
💡 نصائح عملية
- لا تضع مفاتيح سرية (كلمات مرور، توكنات API) بالكود مباشرة — خزّنها كمتغيرات بيئة واقرأها عبر process.env
- استخدم قيمة افتراضية دائمًا (process.env.PORT || 3000) لأن أي متغيّر قد يكون undefined
⚠️ أخطاء شائعة
- الاعتقاد أن تعديل process.env.KEY داخل الكود يغيّر متغيّرات النظام فعليًا أو متغيّرات عمليات أخرى — التعديل محلي للعملية الحالية فقط
- نسيان أن كل قيم process.env نصوص دائمًا — process.env.PORT === 3000 خطأ لأن المقارنة نص برقم
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار NODEJS الكامل بالعربي.