2015-07-22 17 views
9

में एक पर्यावरण चर के रूप में एक सरणी को परिभाषित करना मेरे पास एक सरणी है जिसे मैं डेटा खींचता हूं।node.js

festivals = ['bonnaroo', 'lollapalooza', 'coachella'] 

जब से मैं Heroku उपयोग कर रहा हूँ, यह एक वातावरण चर से बदलने के लिए बेहतर हो सकता है, लेकिन मुझे लगता है कि कैसे करना है यकीन नहीं है।

एक JSON स्ट्रिंग का उपयोग पर्यावरण चर के रूप में जाने का तरीका है?

उत्तर

19

इस परिदृश्य में, यह एक env var की तरह नहीं लगता है जाने का रास्ता है।

आमतौर पर, आप पर्यावरण के चर का उपयोग अपने पर्यावरण के बारे में जानकारी देने या उसके व्यवहार को अनुकूलित करने के लिए करना चाहते हैं: किस डेटाबेस से कनेक्ट करने के लिए, कौन सा ऑथ टोकन उपयोग करना है, कितने श्रमिकों को कांटा, चाहे या नहीं कैश प्रस्तुत विचार, आदि

आपका उदाहरण मॉडल की तरह दिखता है, इसलिए डेटाबेस की तरह कुछ शायद बेहतर फिट है।

यह कहा गया है कि आपके ऐप के बारे में कोई संदर्भ नहीं है या यह festivals का उपयोग कैसे करता है, इसलिए यदि यह पता चला है कि आपको एक env var का उपयोग करना चाहिए, तो आपके पास कई विकल्प हैं।

heroku config:set FESTIVALS="bonnaroo lollapalooza coachella" 

तो:

var festivals = process.env.FESTIVALS.split(' '); 

प्रकटीकरण: सरल शायद सिर्फ एक अंतरिक्ष या अल्पविराम से अलग किए स्ट्रिंग का उपयोग करने के लिए है मैं Heroku

पर Node.js मंच मालिक हूँ
1

यह शायद आपके डेटा पर निर्भर करता है। उदाहरण के लिए, यदि किसी भी मान में कभी भी अल्पविराम नहीं होंगे, तो आप इसे अल्पविराम से अलग सूची बना सकते हैं और फिर अल्पविराम पर विभाजित कर सकते हैं (उदा। FOO=bar,baz,quux node myapp.js के साथ अपना ऐप शुरू करना var foo = process.env.FOO.split(',')myapp.js में)।

अन्यथा यदि आपके इनपुट मान अधिक जटिल हो सकते हैं, तो JSON शायद काम करने के लिए सबसे आसान होगा।