config लाइब्रेरी क्या है?
config लाइब्रेरी Node.js के लिए एक लोकप्रिय मॉड्यूल है, जो एप्लिकेशन कॉन्फ़िगरेशन को प्रबंधित करने के लिए डिज़ाइन किया गया है। यह सेटिंग्स को अलग-अलग फ़ाइलों (JSON, YAML, JS) में स्टोर करने और एनवायरनमेंट (development, production, staging) के आधार पर उन्हें स्वचालित रूप से लोड करने की अनुमति देता है। यह API कुंजी, सर्वर पोर्ट या डेटाबेस कनेक्शन स्ट्रिंग जैसे पैरामीटर को हार्डकोड करने की आवश्यकता को समाप्त करता है।
इसकी आवश्यकता क्यों है?
वास्तविक प्रोजेक्ट्स में, कॉन्फ़िगरेशन अक्सर बदलता रहता है: स्थानीय रूप से आप एक डेटाबेस URL का उपयोग करते हैं, सर्वर पर दूसरे का। config मॉड्यूल के बिना, आपको मैन्युअल रूप से वेरिएबल बदलने या process.env के साथ जटिल संरचनाओं का उपयोग करना पड़ता। लाइब्रेरी इस प्रक्रिया को सरल बनाती है: यह NODE_ENV एनवायरनमेंट वेरिएबल (जैसे, development.json या production.json) के आधार पर स्वचालित रूप से फ़ाइल का चयन करती है।
कैसे स्थापित करें?
npm के माध्यम से मॉड्यूल स्थापित करें:
npm install configमुख्य कार्य
- स्वचालित एनवायरनमेंट पहचान: डिफ़ॉल्ट रूप से
default.jsonफ़ाइल ढूंढता है, फिर{NODE_ENV}.json। - फ़ॉर्मेट सपोर्ट: JSON, YAML, JS, TOML।
- गहरी नेस्टिंग: डॉट के माध्यम से नेस्टेड फ़ील्ड तक पहुंच (
config.get('database.host'))। - सुरक्षा: एनवायरनमेंट वेरिएबल के माध्यम से संवेदनशील डेटा (पासवर्ड) छिपाया जा सकता है।
JavaScript (Node.js) पर कोड उदाहरण
फ़ोल्डर संरचना बनाएं:
project/
├── config/
│ ├── default.json
│ └── production.json
├── app.js
└── package.jsonconfig/default.json:
{
"server": {
"port": 3000
},
"database": {
"host": "localhost",
"port": 5432
}
}config/production.json:
{
"server": {
"port": 80
},
"database": {
"host": "prod-db.example.com"
}
}app.js:
const config = require('config');
// सर्वर पोर्ट प्राप्त करें
const port = config.get('server.port');
// डेटाबेस होस्ट प्राप्त करें
const dbHost = config.get('database.host');
console.log(`Server running on port ${port}`);
console.log(`Database host: ${dbHost}`);
// सर्वर शुरू करें
const http = require('http');
http.createServer((req, res) => {
res.end('Hello World');
}).listen(port);विभिन्न एनवायरनमेंट के साथ चलाएं:
# डिफ़ॉल्ट (development)
node app.js
# Server running on port 3000
# Production
NODE_ENV=production node app.js
# Server running on port 80कब उपयोग करें?
config लाइब्रेरी मध्यम और बड़े Node.js एप्लिकेशन के लिए आदर्श है, जहां एनवायरनमेंट के अनुसार सेटिंग्स को अलग करने की आवश्यकता होती है। यह कई सर्वरों पर डिप्लॉय करते समय, माइक्रोसर्विस आर्किटेक्चर में और संवेदनशील डेटा (एनवायरनमेंट वेरिएबल के माध्यम से) के साथ काम करते समय अपरिहार्य है। छोटे प्रोजेक्ट या स्क्रिप्ट के लिए, आप सरल process.env से काम चला सकते हैं, लेकिन config कोड को साफ और अधिक स्केलेबल बनाता है।