खोज…


पर्यावरण चर पर पहुँचना

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


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow