मैं अपने API_KEY को एक .env फ़ाइल से लेने की कोशिश कर रहा हूं जिसकी मुझे सर्वर से आवश्यकता है। जेएस। हालांकि, मैं एक अलग जेएस फ़ाइल पर अपने AJAX एपीआई कॉल का उपयोग कर रहा हूं जो सर्वर फ़ाइल नहीं है। मैं .env -> server.js -> app.js से अपनी एपीआई कुंजी लेने के बारे में कैसे जाउंगा (फ़ाइल मैं एपीआई को कॉल कर रहा हूं)

0
Corbin Brockbank 15 फरवरी 2020, 00:39
1
आयात करें या require?
 – 
tadman
15 फरवरी 2020, 00:43
Iv ने कोशिश की। मैंने अपने सर्वर पर .env से आवश्यक एपीआई कुंजी के साथ एक मॉड्यूल.एक्सपोर्ट किया है, फिर मैं "/ फ़ाइल" से { apiKey } को इनपोर्ट करने का प्रयास करता हूं और यह नहीं जाएगा। अगर मैं ऐप.जेएस से केवल एक आवश्यकता () करने की कोशिश करता हूं, जहां मैं एपीआई कुंजी को कॉल कर रहा हूं, तो यह कंसोल त्रुटियों को कह रहा है कि मुझे एक गैर सर्वर जेएस फ़ाइल की आवश्यकता नहीं है
 – 
Corbin Brockbank
15 फरवरी 2020, 00:55
const apikey = require('../../../env.json').API_KEY या ऐसा कुछ काम नहीं करता??? इसके अलावा यदि आप कुछ कोड दिखा सकते हैं, तो यह मददगार हो सकता है ताकि हम देख सकें कि आप फ़ाइल तक पहुँचने का प्रयास कैसे कर रहे हैं।
 – 
Michael
15 फरवरी 2020, 01:13
माइकल, आपके सुझाव के लिए धन्यवाद। मैं सर्वर.जेएस फ़ाइल में आवश्यकता कर रहा हूं और फिर इसे ऐप.जेएस फ़ाइल में अब सांत्वना दे रहा हूं। मुझे 'console.log(process.env)' का उपयोग करके एक प्रतिक्रिया प्राप्त हो रही है, लेकिन जब मैं 'console.log(process.env.API_KEY)' करता हूं तो यह अपरिभाषित हो जाता है। यहाँ संरचना है: .env `API_KEY=&key=AIzaSyC4lWI9kHf7QhSdd-cF9m59SbITCa8jZ30 ` सर्वर ` की आवश्यकता है ('dotenv').config (); console.log(process.env.API_KEY) `app.js console.log(process.env.API_KEY) -- जो अपरिभाषित है। console.log(process.env) डेटा लौटाता है, लेकिन यह API_KEY नहीं दिखाता है
 – 
Corbin Brockbank
15 फरवरी 2020, 02:48
कृपया env वेरिएबल नाम जांचें- आप अपनी फ़ाइल में कैसे उपयोग कर रहे हैं। Env वेरिएबल केस सेंसिटिव हैं @CorbinBrockbank
 – 
Raj Kumar
15 फरवरी 2020, 19:21

1 उत्तर

पहले "npm install dotenv" करें और फिर नीचे दिए गए चरणों का पालन करें:

सर्वर.जेएस

  require('dotenv').config();

विभिन्न.js फ़ाइल

.env फ़ाइल से पासवर्ड एनवी वैरिएबल एक्सेस करें

 console.log('Password is: ', process.env.API_KEY);

.env फ़ाइल

API_KEY=GHhnjk2&357GH890tgbhn7j2FGH78

अधिक जानकारी के लिए देखें: https://www.npmjs.com/package/dotenv

-2
Raju Singh 15 फरवरी 2020, 19:11
तो iv ने यह किया। Iv को मेरी एपीआई कुंजी पकड़े हुए .env फ़ाइल सेट अप मिली। मुझे सर्वर.जेएस में इसकी आवश्यकता है और मैं इसे वहां से सांत्वना दे सकता हूं और एपीआई कुंजी देख सकता हूं। लेकिन मैं एपीआई कुंजी लेने की कोशिश कर रहा हूं जो पहले से ही .env से आवश्यक है और एक अलग जेएस फ़ाइल (सर्वर नहीं) पर एपीआई कुंजी का उपयोग करें। .end -> सर्वर.जेएस -> ऐप.जेएस
 – 
Corbin Brockbank
15 फरवरी 2020, 00:57
कृपया दोनों फाइलों का अपना कोड नमूना संलग्न करें @CorbinBrockbank
 – 
Raju Singh
15 फरवरी 2020, 00:59
सर्वर.जेएस में आयात या .env फ़ाइल की आवश्यकता नहीं है। मेरा जवाब ध्यान से पढ़ें।
 – 
Raju Singh
15 फरवरी 2020, 01:16
अच्छा ऐसा है। ठीक है, मुझे अब मेरे ऐप.जेएस पेज पर एक प्रतिक्रिया मिल रही है (धन्यवाद) लेकिन यह API_KEY नहीं दिखाएगा। कोड:
 – 
Corbin Brockbank
15 फरवरी 2020, 02:38
.env ``` API_KEY=&key=AIzaSyC4lWI9kHf7QhSdd-cF9m59SbITCa8jZ30 ``` सर्वर ``` की आवश्यकता है ('dotenv').config(); console.log(process.env.API_KEY) `` ऐप.जेएस `` कंसोल.लॉग (प्रोसेस.एनवी.एपीआई_की) ``` ^^ "अपरिभाषित" प्रदर्शित करेगा लेकिन अगर मैं सिर्फ ``` कंसोल.लॉग को कंसोल करता हूं (process.env) ``` यह बहुत सारी जानकारी के साथ प्रतिक्रिया भेजता है लेकिन api_key नहीं।
 – 
Corbin Brockbank
15 फरवरी 2020, 02:40