मैं नोड.जेएस में एक पर्यावरण चर कैसे सेट कर सकता हूं?
मैं किसी भी प्लेटफ़ॉर्म विशिष्ट पर निर्भर नहीं रहना पसंद करूंगा, जैसे निर्यात या cmd.exe सेट चलाना।
जवाबों:
आप अपने पर्यावरण चर को इसमें सेट कर सकते हैं process.env
:
process.env['VARIABLE'] = 'value';
-या-
process.env.VARIABLE = 'value';
मंच की बारीकियों का ध्यान रखना चाहिए।
var process = require('process')
, प्रक्रिया एक वैश्विक चर मौजूद है।
process.env.VARIABLE
यदि चर नाम एक ज्ञात स्थिर है, तो ठीक है, जबकि process.env['VARIABLE']
किसी भी मामले में काम करता है; मूल प्रश्न पर्याप्त विवरण निर्दिष्ट नहीं करता था, इसलिए अधिक बहुमुखी उदाहरण बेहतर अनुकूल लगता था।
सबसे पहले आपको इस पैकेज को स्थापित करना चाहिए: -
https://github.com/motdotla/dotenv [ npm install dotenv
]
फिर आपको अपने प्रोजेक्ट की रूट डायरेक्टरी में .env फाइल बनाने की जरूरत है, और वहां आप नीचे दिए गए वेरिएबल को जोड़ सकते हैं: -
NODE_ENV=PRODUCTION
DATABASE_HOST=localhost
अब आप नीचे दिए कोड की तरह इन चर को आसानी से एक्सेस कर सकते हैं: -
require('dotenv').config()
console.log(process.env.NODE_ENV);
यह मेरे लिए काम करता है, उम्मीद है कि मदद करता है।
नोड v14.2.0 एनवी चर सेट करने के लिए, पहले अपने प्रोजेक्ट होम डायरेक्टरी में एक फ़ाइल नाम config.env बनाएं और फिर उदाहरण के लिए, अपनी आवश्यकता के सभी चर लिखें।
config.env
NODE_ENV=development
PORT=3000
DATABASE=mongodb+srv://lord:<PASSWORD>@cluster0-eeev8.mongodb.net/tour-guide?retryWrites=true&w=majority
DATABASE_LOCAL=mongodb://localhost:27017/tours-test
DATABASE_PASSWORD=UDJUKXJSSJPWMxw
अब npm से dotenv स्थापित करें, dotenv आपके काम को बंद कर देगा
npm i dotenv
अब आपके सर्वर स्टार्टर स्क्रिप्ट में, मेरे मामले में यह server.js है जो env वेरिएबल्स को लोड करने के लिए doenv का उपयोग करता है।
const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv
//starting server
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`app running on port ${port}...`);
});
मैं अपने संदर्भ के लिए यहां, लेखन में app.js में एक्सप्रेस, मेरे सभी एक्सप्रेस कोड का उपयोग कर रहा हूं
const express = require('express');
const tourRouter = require('./route/tourRouter');
const userRouter = require('./route/userRouter');
if (process.env.NODE_ENV === 'development') {
console.log('mode development');
}
app.use(express.json());
app.use('/api/v1/tours', tourRouter);
app.use('/api/v1/users', userRouter);
module.exports = app;
अब कंसोल का उपयोग करके अपना सर्वर शुरू करें, मैं नोडमॉन का उपयोग कर रहा हूं , आप इसे एनपीएम से इंस्टॉल कर सकते हैं;
nodemon server.js