Node.js
वातावरण
खोज…
पर्यावरण चर पर पहुँचना
process.env
गुण उपयोगकर्ता वातावरण वाले ऑब्जेक्ट देता है।
यह इस तरह एक वस्तु देता है:
{
TERM: 'xterm-256color',
SHELL: '/usr/local/bin/bash',
USER: 'maciej',
PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',
PWD: '/Users/maciej',
EDITOR: 'vim',
SHLVL: '1',
HOME: '/Users/maciej',
LOGNAME: 'maciej',
_: '/usr/local/bin/node'
}
process.env.HOME // '/Users/maciej'
आप वातावरण चर सेट करते हैं FOO
को foobar
, इसके साथ सुलभ हो जाएगा:
process.env.FOO // 'foobar'
process.argv कमांड लाइन तर्क
process.argv एक एरे है जिसमें कमांड लाइन आर्ग्युमेंट्स होते हैं। पहला तत्व node
होगा, दूसरा तत्व जावास्क्रिप्ट फ़ाइल का नाम होगा। अगले तत्व किसी भी अतिरिक्त कमांड लाइन तर्क होंगे।
कोड उदाहरण:
सभी कमांड लाइन तर्कों का आउटपुट योग
index.js
var sum = 0;
for (i = 2; i < process.argv.length; i++) {
sum += Number(process.argv[i]);
}
console.log(sum);
उपयोग छूट:
node index.js 2 5 6 7
आउटपुट 20
होगा
कोड का संक्षिप्त विवरण:
यहाँ लूप for (i = 2; i < process.argv.length; i++)
लूप 2 से शुरू होता है क्योंकि पहले दो तत्व process.argv एरे में हमेशा होते हैं ['path/to/node.exe', 'path/to/js/file', ...]
संख्या Number(process.argv[i])
में बदलना क्योंकि process.argv सरणी में तत्व हमेशा स्ट्रिंग होते हैं
विभिन्न वातावरणों जैसे देव, क्यूए, मंचन आदि के लिए विभिन्न गुणों / विन्यास का उपयोग करना।
विभिन्न वातावरणों पर चलने पर बड़े पैमाने पर अनुप्रयोगों को अक्सर विभिन्न गुणों की आवश्यकता होती है। हम NodeJs आवेदन के लिए तर्क पारित करके और विशिष्ट पर्यावरण संपत्ति फ़ाइल लोड करने के लिए नोड प्रक्रिया में एक ही तर्क का उपयोग करके इसे प्राप्त कर सकते हैं।
मान लीजिए कि हमारे पास अलग-अलग पर्यावरण के लिए दो संपत्ति फाइलें हैं।
dev.json
{ PORT : 3000, DB : { host : "localhost", user : "bob", password : "12345" } }
qa.json
{ PORT : 3001, DB : { host : "where_db_is_hosted", user : "bob", password : "54321" } }
आवेदन में निम्नलिखित कोड संबंधित संपत्ति फ़ाइल को निर्यात करेगा जिसे हम उपयोग करना चाहते हैं।
मान लीजिए कि कोड environment.js में है
process.argv.forEach(function (val, index, array) {
var arg = val.split("=");
if (arg.length > 0) {
if (arg[0] === 'env') {
var env = require('./' + arg[1] + '.json');
module.exports = env;
}
}
});
हम निम्नलिखित की तरह आवेदन के लिए तर्क देते हैं
node app.js env=dev
अगर हम प्रक्रिया प्रबंधक को हमेशा की तरह सरलता से उपयोग कर रहे हैं
forever start app.js env=dev
कॉन्फ़िगरेशन फ़ाइल का उपयोग कैसे करें
var env= require("environment.js");
एक "संपत्ति फ़ाइल" से पर्यावरण गुण लोड हो रहा है
- गुण पाठक स्थापित करें:
npm install properties-reader --save
- अपनी संपत्ति फ़ाइलों को संग्रहीत करने के लिए एक निर्देशिका बनाएँ:
mkdir env
- वातावरण बनाएँ। Js :
process.argv.forEach(function (val, index, array) {
var arg = val.split("=");
if (arg.length > 0) {
if (arg[0] === 'env') {
var env = require('./env/' + arg[1] + '.properties');
module.exports = env;
}
}
});
- सैंपल डेवलपमेंट.प्रॉपर्टीज गुण फाइल:
# Dev properties
[main]
# Application port to run the node server
app.port=8080
[database]
# Database connection to mysql
mysql.host=localhost
mysql.port=2500
...
- लोड किए गए गुणों का नमूना उपयोग:
var enviorment = require('./environments');
var PropertiesReader = require('properties-reader');
var properties = new PropertiesReader(enviorment);
var someVal = properties.get('main.app.port');
- एक्सप्रेस सर्वर शुरू
npm start env=development
या
npm start env=production