आप जो कर रहे हैं उसके पारंपरिक विकल्प, खासकर जब एपीआई कुंजी से संबंधित, environment variables का उपयोग करना है। यह एक ऑपरेटिंग सिस्टम-स्तरीय कॉन्फ़िगरेशन सुविधा है। प्रत्येक प्रक्रिया में पर्यावरण चर के अपने सेट होते हैं, आमतौर पर इसकी मूल प्रक्रिया से विरासत में प्राप्त होता है। सम्मेलन से, पर्यावरण चर के अपरकेस नाम हैं।
node.js में, आप process.env
के माध्यम से पर्यावरण चर का उपयोग कर सकते हैं। उदाहरण के लिए, अगर आप इस तरह एक आवेदन चलाएँ:
$ MY_VARIABLE=test node app.js
आप के माध्यम से MY_VARIABLE
वातावरण चर के मूल्य तक पहुँच सकते हैं: यह कठिन हो सकता है
process.env.MY_VARIABLE
, हालांकि, गुजर रखने के लिए करने के लिए आपके कार्यक्रम के प्रत्येक आमंत्रण पर पर्यावरण चर (ओं)। यही कारण है कि dotenv जैसे पैकेज हैं जो आपको टेक्स्ट फ़ाइल में अपने पर्यावरण चर को स्टोर करने की अनुमति देते हैं।
अधिक विशेष रूप से, आप एक फ़ाइल .env
कहा जाता है और उस में आप हो सकता है:
MY_VARIABLE=test
OTHER_VARIABLE=foo
अपने app.js
की शुरुआत में, आप तो कार्य करें:
require('dotenv').config();
यह वातावरण पढ़ता .env
फ़ाइल से परिवर्तनीय मान। फिर आप उन तक पहुँच सकते के रूप में आप किसी भी अन्य वातावरण चर का उपयोग होगा:
console.log("MY_VARIABLE: " + process.env.MY_VARIABLE);
console.log("OTHER_VARIABLE: " + process.env.OTHER_VARIABLE);
अब आप स्पष्ट रूप से मंगलाचरण पर अपने आवेदन करने के लिए वातावरण चर पारित करने के लिए की जरूरत नहीं है, अर्थात आप बस हमेशा की तरह चला सकते हैं:
$ node app.js
आप पास एक स्पष्ट रूप से कर है, यह स्थान पर आ जाएगी आप जो भी मान अपने .env
फ़ाइल में दिया:
$ MY_VARIABLE=bar node app.js
अब MY_VARIABLE
पर्यावरण चर के "testing"
के बजाय "bar"
का मान होगा। चूंकि OTHER_VARIABLE
स्पष्ट रूप से पारित नहीं किया गया है, यह फ़ाइल में निर्दिष्ट "foo"
का मान बरकरार रखता है।
किसी .js फ़ाइल में सहेजने और मूल्यों को निर्यात करने में क्या गलत है? फिर आप उन्हें केवल इसकी आवश्यकता हो सकती है जहां आपको इसकी आवश्यकता है। –
जाहिर है, मैं आपके प्रश्न को समझ नहीं पा रहा हूं। यदि आप नहीं चाहते हैं कि इसे वैश्विक रूप से स्थानीय रूप से इसकी आवश्यकता हो। – Kuf