नोड.js में process.env.PORT का मान कैसे बदलें?


141

मैं मान बदलना चाहूंगा process.env.PORT, मैं यह कैसे कर सकता हूं?

मैं Ubuntu 12.04 चला रहा हूं।

जवाबों:


281

केवल एक रन के लिए (यूनिक्स शेल प्रॉम्प्ट से):

$ PORT=1234 node app.js

अधिक स्थायी रूप से:

$ export PORT=1234
$ node app.js

में विंडोज :

set PORT=1234

Windows PowerShell में :

$env:PORT = 1234

4
प्रलेखन के लिए, msdn.microsoft.com/en-us/library/windows/desktop/... खिड़कियां उपयोगकर्ताओं के लिए
WraithKenny

3
इसके अलावा $env:PORT = 80
पॉवर्सशेल

VAR_1=value VAR_2=11827 node-> बस एक ही कमांड पर एक से अधिक वेरिएबल का उपयोग करने के लिए स्पेस का उपयोग करें
p4bloch

15

आप पार मंच समाधान https://www.npmjs.com/package/cross-env का उपयोग कर सकते हैं

$ cross-env PORT=1234

यह शायद सबसे अच्छा समाधान है। विभिन्न टर्मिनलों के साथ त्रुटि के लिए बहुत अधिक मार्जिन है। मैं 40 मिनट की तरह बिताया जब तक मैं cross-envसार इस समस्या को दूर पाया और सिर्फ काम करता है।
adi518

8

नोड जेएस कार्यक्रम चलाते समय नोड प्रक्रिया में पोर्ट संख्या निर्धारित करने के लिए नीचे दिए गए आदेश का उपयोग करें:

set PORT =3000 && node file_name.js

सेट पोर्ट को कोड के रूप में एक्सेस किया जा सकता है

process.env.PORT 

2

EDIT: प्रति @ sshow की टिप्पणी, यदि आप पोर्ट 80 पर अपना नोड ऐप चलाने की कोशिश कर रहे हैं, तो नीचे यह करने का सबसे अच्छा तरीका नहीं है। यहाँ एक बेहतर जवाब है: मैं पोर्ट 80 पर Node.js कैसे चलाऊँ?

मूल उत्तर:

यदि आप इसे पोर्ट 80 पर चलाने के लिए करना चाहते हैं (या env चर को और अधिक स्थायी रूप से सेट करना चाहते हैं ),

  1. अपना बैश प्रोफाइल खोलें vim ~/.bash_profile
  2. फ़ाइल में पर्यावरण चर जोड़ें export PORT=80
  3. Sudoers config फाइल को खोलें sudo visudo
  4. निम्न पंक्ति को फ़ाइल में ठीक उसी तरह जोड़ें Defaults env_keep +="PORT"

अब जब आप sudo node app.jsइसे चलाने के रूप में वांछित काम करना चाहिए।


रूट (sudo) के रूप में अपनी नोड स्क्रिप्ट चलाने की अनुशंसा नहीं की जाती है। उपयोग करें sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080, और इसके बजाय पोर्ट 8080 पर सुनें। stigok.tumblr.com/post/139320914543/…
sshow

1
हां, आप सही हैं, मैं एक बेहतर चर्चा से जुड़ा हुआ हूं (कि मैंने भी जवाब दिया, अस्वीकरण ) और शुरू में इस दृष्टिकोण का उपयोग करने के बाद सीखा।
काइल चड्ढा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.