IT-Swarm.Net

OS X में उत्पादन/विकास के लिए NODE_ENV कैसे सेट करें

एक्सप्रेस में उपयोग के लिए। पर्यावरण वातावरण। कोई सुझाव?

276
Mark Gia Bao Nguyen

अपना ऐप चलाने से पहले, आप इसे कंसोल में कर सकते हैं,

export NODE_ENV=production

या यदि आप खिड़कियों में हैं तो आप यह कोशिश कर सकते हैं:

SET NODE_ENV=production

या आप अपना ऐप इस तरह चला सकते हैं:

NODE_ENV=production node app.js

आप इसे अपनी js फाइल में भी सेट कर सकते हैं:

process.env.NODE_ENV = 'production';

लेकिन मैं इसे आपके रनटाइम फ़ाइल में करने का सुझाव नहीं देता, क्योंकि आपके सर्वर में VIMको खोलना और इसे उत्पादन में बदलना आसान नहीं है। आप अपनी निर्देशिका में एक config.json फ़ाइल बना सकते हैं और जब भी आपका ऐप चलता है, वह इससे पढ़ता है और कॉन्फ़िगरेशन सेट करता है।.

587
Farid Nouri Neshat

in package.json:

{
  ...
  "scripts": {
    "start": "NODE_ENV=production node ./app"
  }
  ...
}

फिर टर्मिनल में चलाएं:

npm start
87
walkerbe

यहाँ किसी ने भी .env का उल्लेख नहीं किया है? अपने ऐप रूट में एक .env फ़ाइल बनाएं, फिर require('dotenv').config() और मान पढ़ें। आसानी से बदला हुआ, आसानी से पढ़ा हुआ, क्रॉस प्लेटफॉर्म।.

https://www.npmjs.com/package/dotenv

49
Thomas McCabe

export NODE_ENV=production बुरा समाधान है, यह पुनरारंभ होने के बाद गायब हो जाता है।

यदि आप उस चर के बारे में चिंता नहीं करना चाहते हैं - इसे इस फ़ाइल में जोड़ें:

/etc/environment

निर्यात सिंटैक्स का उपयोग न करें, बस लिखें (यदि कुछ सामग्री पहले से है तो नई लाइन में):

NODE_ENV=production

यह पुनः आरंभ करने के बाद काम करता है। आपको कहीं भी पुनः प्रवेश नहीं करना पड़ेगा निर्यात NODE_ENV = उत्पादन कमांड कहीं भी और बस नोड का उपयोग करें जिसे आप चाहें - हमेशा के लिए, दोपहर 2 ...

उसके लिए:

heroku config:set NODE_ENV="production"

जो वास्तव में डिफ़ॉल्ट है।.

42
Lukas

यह NODE_ENV: http://www.hacksparrow.com/running-express-js-in-production-mode.html के बारे में एक अच्छा लेख है।.

Grunt से स्वतः सेटिंग के लिए आप https://npmjs.org/package/grunt-env plugin का उपयोग कर सकते हैं।.

21
Daniel Steigerwald
heroku config:set NODE_ENV="production"
21
david_adler

चिंता करने की ज़रूरत नहीं है कि क्या आप विंडोज, मैक या लिनक्स पर अपनी स्क्रिप्ट चला रहे हैं, क्रॉस-एनव पैकेज स्थापित करते हैं। फिर आप अपनी स्क्रिप्ट आसानी से उपयोग कर सकते हैं, जैसे:

"scripts": {
    "start-dev": "cross-env NODE_ENV=development nodemon --exec babel-node -- src/index.js",
    "start-prod": "cross-env NODE_ENV=production nodemon --exec babel-node -- src/index.js"
}

बड़े पैमाने पर इस पैकेज के डेवलपर्स के लिए सहारा।.

12
Notorious

विंडोज पॉवर्सशेल के लिए इस कमांड का उपयोग करें

$env:NODE_ENV="production" ; node app.js
8
Harikrishnan

OSX पर मैं export NODE_ENV=development को आपके ~/.bash_profile और/या ~/.bashrc और/या ~/.profile में जोड़ने की सलाह दूंगा।.

व्यक्तिगत रूप से मैं उस प्रविष्टि को अपने ~/.bashrc में जोड़ता हूं और फिर ~/.bash_profile~/.profile उस फ़ाइल की सामग्री को आयात करता हूं, इसलिए यह पूरे परिवेश में संगत है।.

इन अतिरिक्त बनाने के बाद, सेटिंग्स लेने के लिए अपने टर्मिनल को पुनः आरंभ करना सुनिश्चित करें।.

6
Vincil Bishop

यदि आप अपने आवेदन में वेबपैक का उपयोग कर रहे हैं, तो आप बस DefinePlugin... का उपयोग करके इसे वहां सेट कर सकते हैं।.

तो आपके plugin सेक्शन में, NODE_ENV से production सेट करें:

plugins: [
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': '"production"',
  })
]
1
Alireza

अगर आप खिड़कियों पर हैं। पहले दाहिने फ़ोल्डर में अपना cmd खोलें

set node_env={your env name here}

हिट दर्ज करें तो आप अपना नोड शुरू कर सकते हैं

node app.js

यह आपके env सेटिंग से शुरू होगा

1
garenyondem

डैनियल का एक शानदार जवाब है जो सही तैनाती (सेट और भूल) प्रक्रिया के लिए बेहतर दृष्टिकोण है।.

एक्सप्रेस का उपयोग करने वालों के लिए। आप ग्रंट-एक्सप्रेस-सर्वर का उपयोग कर सकते हैं जो शानदार भी है। https://www.npmjs.org/package/grunt-express-server

0
Jesse

कई वातावरण बनाने के लिए आपको (NODE_ENV पैरामीटर और निर्यात करने से पहले) सभी उत्तरों की आवश्यकता होती है, लेकिन मैं कुछ भी स्थापित किए बिना बहुत ही सरल दृष्टिकोण का उपयोग करता हूं। अपने पैकेज में.जॉन को अपनी जरूरत के अनुसार प्रत्येक स्क्रिप्ट के लिए एक स्क्रिप्ट डालें, जैसे:

...
"scripts": {
    "start-dev": "export NODE_ENV=dev && ts-node-dev --respawn --transpileOnly ./src/app.ts",
    "start-prod": "export NODE_ENV=prod && ts-node-dev --respawn --transpileOnly ./src/app.ts"
  }
 ...

फिर, npm start का उपयोग करने के बजाय npm run script-prod का उपयोग करके ऐप को प्रारंभ करें।.

कोड में आप process.env.NODE_ENV के साथ वर्तमान परिवेश तक पहुँच सकते हैं।.

देखा।.

0
rmpt