एक पर्यावरण चर उस पर्यावरण के बारे में जानकारी प्रदान करता है जिसमें एक प्रक्रिया चल रही है। वे सर्वर पोर्ट और डेटाबेस कनेक्शन को कॉन्फ़िगर करते हैं, एपीआई कुंजी जैसे संवेदनशील डेटा को छिपाते हैं, और बहुत कुछ।
पर्यावरण चर पढ़ने का NestJS तरीका NodeJS के मानक dotenv पैकेज से अलग है।
NestJS कॉन्फ़िग मॉड्यूल आपको कुछ ही चरणों में अपने परिवेश चर प्रबंधित करने देता है।
चरण 1: निर्भरता स्थापित करना
NestJS एक समर्पित. प्रदान करता है @nestjs/कॉन्फ़िगरेशन पैकेज जो का उपयोग करता है दोतेनव हुड के नीचे पैकेज। यह शून्य-निर्भरता पैकेज पर्यावरण चर को a. से लोड करता है .env फ़ाइल में प्रक्रिया.env. process.env ऑब्जेक्ट आपके एप्लिकेशन के उपयोग के लिए रनटाइम पर इंजेक्ट किया गया एक वैश्विक चर है।
NestJS कॉन्फ़िगरेशन पैकेज चलाकर स्थापित करें:
एनपीएम इंस्टॉल @nestjs/config
NestJS कॉन्फ़िग पैकेज, कॉन्फ़िग मॉड्यूल और कॉन्फ़िग सेवा को ऐप्लिकेशन में दिखाकर काम करता है। कॉन्फिग मॉड्यूल निर्दिष्ट करता है: .env पढ़ने के लिए आवेदन पत्र दाखिल करें। उसी समय, कॉन्फ़िगरेशन सेवा अंदर की जानकारी को उजागर करती है .env शेष आवेदन के लिए फाइल करें।
चरण 2: ENV फ़ाइलें बनाना
किसी फ़ाइल में पर्यावरण चर संग्रहीत करना आपको देता है किसी भी भाषा से उन्हें आसानी से एक्सेस करें, विभिन्न OSes में। आप इन्हें संस्करण नियंत्रित कर सकते हैं .env फ़ाइलें, इसलिए वे प्रोजेक्ट पोर्टेबिलिटी को बढ़ाते हैं और डिबगिंग समस्याओं को कम कर सकते हैं।
.env फ़ाइलें बनाने के लिए NestJS का तरीका आधिकारिक dotenv अनुशंसा से अलग है। dotenv दस्तावेज़ीकरण के अनुसार, आपको किसी एप्लिकेशन में एक से अधिक .env फ़ाइल नहीं बनानी चाहिए। NestJS आपको अलग-अलग नामों से कई .env फ़ाइलें बनाने देता है।
अच्छे अभ्यास के रूप में, आपको हमेशा अपने प्रोजेक्ट की रूट डायरेक्टरी में .env फाइलें बनानी चाहिए और उन्हें अपने में शामिल करना चाहिए .gitignore फ़ाइल।
.env फ़ाइल बनाने का कोई विशेष तरीका नहीं है—बस उन्हें अपने सामान्य टेक्स्ट एडिटर से बनाएं और संपादित करें—लेकिन उन्हें .env से शुरू होना चाहिए। उदाहरण के लिए, .env.विकास.
चरण 3: कॉन्फ़िगरेशन मॉड्यूल सेट करना
अपना कॉन्फ़िगर मॉड्यूल वैश्विक रूप से सेट करने के लिए नीचे दिए गए चरण का पालन करें और निर्दिष्ट करें .env पथ:
- आपके प्रोजेक्ट के रूट मॉड्यूल में (ऐप.मोड्यू.ts) फ़ाइल, आयात कॉन्फिगमॉड्यूल से @nestjs/कॉन्फ़िगरेशन.
- जोड़ें कॉन्फिगमॉड्यूल आपके आयात सरणी और कॉल करें जड़ के लिए उस पर विधि।
- कॉन्फ़िगरेशन ऑब्जेक्ट को पास करें जड़ के लिए विधि, an. के साथ वैश्विक है करने के लिए संपत्ति सच. यह विकल्प आपके एप्लिकेशन में अन्य मॉड्यूल के माध्यम से कॉन्फ़िगरेशन साझा करता है, जिसका अर्थ है कि आपको इसे एक से अधिक बार सेट नहीं करना होगा।
- अपना निर्दिष्ट करें envफ़ाइलपथ आपके कॉन्फ़िगरेशन ऑब्जेक्ट में। यह गुण या तो एक स्ट्रिंग हो सकता है (यदि आपके पास एक है .env फ़ाइल) या एक सरणी जिसमें आपके सभी शामिल हैं .env फ़ाइलें और कॉन्फ़िगरेशन मॉड्यूल को बताएगा कि कौन सी फाइलें देखना है।
// ऐप.मॉड्यूल.ts
@मापांक({
आयात: [
कॉन्फिगमॉड्यूलजड़ के लिए({
वैश्विक है: सच,
envफ़ाइलपथ: 'आपकी .env फ़ाइल (फ़ाइलों) का नाम',
}),
चरण 4: पर्यावरण चर पढ़ने के लिए कॉन्फ़िगरेशन सेवा का उपयोग करना
कॉन्फ़िगरेशन मानों तक पहुंचने के लिए आयात करके प्रारंभ करें कॉन्फिग सेवा से @nestjs/कॉन्फ़िगरेशन. इसे में इंजेक्ट करें क्लास का कंस्ट्रक्टर ए घोषित करके निजी परिवर्तनीय और असाइन करना कॉन्फिग सेवा इसके प्रकार के रूप में।
उदाहरण के लिए:
निर्माता(निजी कॉन्फिगरेशन: कॉन्फिग सर्विस) {}
एक चर का उपयोग करने के लिए, कॉल करें प्राप्त पर विधि कॉन्फिग सेवा अपने पर निजी चर। इसे उस डेटा प्रकार को पास करें जिसकी आपको एक सामान्य के रूप में आवश्यकता है, और उस पर्यावरण चर का नाम जिसे आप एक्सेस करना चाहते हैं।
उदाहरण के लिए:
const envVar = this.config.get<डोरी>('ENV_VALUE');
कॉन्फिग सेवा "ENV_VALUE" नाम के मान की तलाश करता है और उसका मान लौटाता है।
ध्यान दें कि यदि दो .env फाइलों में एक ही संपत्ति का नाम होता है, जिसमें पहला निर्दिष्ट होता है envफ़ाइलपथ प्रधानता लेगा।
पर्यावरण चर का महत्व
पर्यावरण चर एक कार्यक्रम का एक अनिवार्य हिस्सा हैं, खासकर अधिक जटिल अनुप्रयोगों में। वे आपको समझने में आसान, सामान्य तंत्र के माध्यम से आपके प्रोग्राम के कॉन्फ़िगरेशन को नियंत्रित करने देते हैं।
आप कॉन्फ़िगरेशन के सभी पहलुओं को नियंत्रित करने के लिए पर्यावरण चर का उपयोग कर सकते हैं। विभिन्न डेटाबेस सेटिंग्स से लेकर संवेदनशील डेटा जैसे एपीआई कुंजी और क्रेडेंशियल तक, वे आपको अंतर्निहित स्रोत कोड को छुए बिना कॉन्फ़िगरेशन बदलने देते हैं।