जवाबों:
process.env.ENV_VARIABLE
ENV_VARIABLEउस चर का नाम जहां आप एक्सेस करना चाहते हैं।
के लिए Node.js डॉक्सprocess.env देखें ।
process.env.FOO = "foo";काम करता है।
process.envसुरक्षा कारणों से स्वच्छता है। केवल चर जो शुरू होते REACT_ENV_हैं, उपलब्ध हैं। देखें: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
Node.js का उपयोग करते समय , आप process.envऑब्जेक्ट से कुंजी द्वारा पर्यावरण चर प्राप्त कर सकते हैं :
उदाहरण के लिए
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
यहाँ वह उत्तर है जो नोड.जेएस में पर्यावरण चर को स्थापित करने की व्याख्या करेगा
process.envमें बनाया गया है।
यदि आप अपने Node.js कार्यक्रम में उत्पन्न स्ट्रिंग कुंजी का उपयोग करना चाहते हैं, तो कहें var v = 'HOME', आप उपयोग कर सकते हैं
process.env[v]।
अन्यथा, process.env.VARNAMEअपने कार्यक्रम में हार्डकोड किया जाना चाहिए।
process.env['HOME']?
Node.JS में पर्यावरण चर को पुनः प्राप्त करने के लिए आप process.env.VARIABLE_NAME का उपयोग कर सकते हैं , लेकिन यह न भूलें कि प्रक्रिया पर एक प्रॉपर्टी निर्दिष्ट करना ।vv से मान को एक स्ट्रिंग में बदल देगा।
यहां तक कि अगर आपकी .env फ़ाइल SHOULD_SEND = false या SHOULD_SEND = 0 जैसे चर को परिभाषित करती है , तो मूल्यों को क्रमशः स्ट्रिंग्स ( "झूठे" और "0" ) में बदल दिया जाएगा और व्याख्या नहीं की जाएगी।
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
इसके बजाय, आपको स्पष्ट जांच करनी चाहिए। मैंने पाया है कि पर्यावरण के नाम के आधार पर एक लंबा रास्ता तय किया जाता है।
db.connect({
debug: process.env.NODE_ENV === 'development'
});
आप प्रति प्रोजेक्ट अपने पर्यावरण चर का प्रबंधन करने के लिए env पैकेज का उपयोग कर सकते हैं :
.envप्रोजेक्ट डायरेक्टरी के तहत एक फाइल बनाएं और अपने सभी वेरिएबल्स वहां रखें।require('dotenv').config();किया हुआ। अब आप अपने पर्यावरण चर का उपयोग कर सकते हैं process.env.ENV_NAME।
envपुस्तकालय से एनवी चर का प्रबंधन और लोड करें ।
envdirउपयोगिता का उपयोग करके गैर-नोड-जेएस-विशिष्ट तरीके से भी कर सकते हैं ।
.bash_profileफ़ाइल में उपयोगकर्ता निर्देशिका में उनका उपयोग क्यों नहीं किया जाता है, इसलिए आपको उत्पादन के लिए अपने चर के साथ किसी भी फाइल को धक्का नहीं देना पड़ता है?
envनोड प्रक्रिया चल रही है, तो न तो यह दिखाई नहीं देगा , न ही नोड प्रक्रिया के चलने के बाद, और न ही उसी शेल में।