NODE_ENV
एक पर्यावरण चर है जिसे एक्सप्रेस वेबसर्वर फ्रेमवर्क द्वारा लोकप्रिय बनाया गया है । जब एक नोड एप्लिकेशन चलाया जाता है, तो यह पर्यावरण चर के मूल्य की जांच कर सकता है और मूल्य के आधार पर विभिन्न चीजें कर सकता है। NODE_ENV
विशेष रूप से उपयोग (सम्मेलन द्वारा) यह बताने के लिए कि क्या एक विशेष वातावरण उत्पादन या विकास का वातावरण है। एक सामान्य उपयोग-मामला अतिरिक्त डिबगिंग या लॉगिंग कोड चला रहा है अगर एक विकास के वातावरण में चल रहा है।
NODE_ENV तक पहुँचना
आप पर्यावरण चर का उपयोग करने के लिए निम्न कोड का उपयोग कर सकते हैं ताकि आप अपनी जाँच और तर्क कर सकें:
var environment = process.env.NODE_ENV
या वैकल्पिक रूप से एक्सप्रेस 'का उपयोग करें app.get('env')
( ध्यान दें: यह चूक "development"
)
ध्यान रखें कि यदि आप स्पष्ट रूप से सेट नहीं किया है हो सकता है NODE_ENV
अपने परिवेश के लिए, यह हो जाएगा undefined
।
NODE_ENV सेट करना
पर्यावरण चर को वास्तव में कैसे सेट करें यह ऑपरेटिंग सिस्टम से ऑपरेटिंग सिस्टम में भिन्न होता है, और आपके उपयोगकर्ता सेटअप पर भी निर्भर करता है।
यदि आप पर्यावरण चर को एक-बंद के रूप में सेट करना चाहते हैं, तो आप कमांड लाइन से ऐसा कर सकते हैं:
- लिनक्स और मैक :
export NODE_ENV=production
- खिड़कियां :
$env:NODE_ENV = 'production'
लंबी अवधि में आपको इसे जारी रखना चाहिए ताकि यदि आप रिबूट न करें तो यह परेशान न हो - ऐसा करने के लिए सभी संभावित तरीकों को सूचीबद्ध करने के बजाय, मैं आपको यह खोज करने दूंगा कि यह कैसे करना है!
कन्वेंशन ने तय किया है कि केवल दो ही मूल्य हैं जिन्हें आपको या NODE_ENV
तो सभी लोअरकेस के लिए उपयोग करना चाहिए । अधिक मूल्यों को जोड़ने से आपको कुछ भी नहीं रोक सकता है, लेकिन यह शायद एक अच्छा विचार नहीं है, क्योंकि मैं कई नोड_मॉड्यूल्स में इस तरह का कोड देखता हूं, जिनका मैं उपयोग करता हूं:production
development
var development = process.env.NODE_ENV !== 'production';
ध्यान दें कि एक नोड एप्लिकेशन के भीतर से सेट करने का प्रयास करना वास्तव में एक बुरा विचार हैNODE_ENV
- यदि आप ऐसा करते हैं तो यह केवल उस प्रक्रिया पर लागू होगा जहां से इसे सेट किया गया था , इसलिए चीजें संभवत: ऐसे काम नहीं करेंगी जैसे आप उनसे उम्मीद करते हैं। यह मत करो - आप इसे पछतावा होगा।
app.configure('development', ...)
या "उत्पादन" केवल विकास या उत्पादन वातावरण के लिए कुछ सेटिंग्स निर्धारित करने के लिए है। Expressjs.com/api.html#app.configure