NODE_ENV
это переменная окружения, ставшая популярной в среде экспресс- веб-сервера. Когда приложение узла запускается, оно может проверять значение переменной среды и выполнять различные действия в зависимости от значения. NODE_ENV
специально используется (по соглашению), чтобы указать, является ли конкретная среда производственной или средой разработки . Распространенным вариантом использования является выполнение дополнительного кода отладки или регистрации, если он выполняется в среде разработки.
Доступ к NODE_ENV
Вы можете использовать следующий код для доступа к переменной среды самостоятельно, чтобы вы могли выполнять свои собственные проверки и логику:
var environment = process.env.NODE_ENV
Или, в качестве альтернативы, используйте express ' app.get('env')
( примечание: по умолчанию это "development"
)
Имейте в виду, что если вы явно не установили NODE_ENV
для своей среды, это будет undefined
.
Настройка NODE_ENV
Как на самом деле установить переменную среды, зависит от операционной системы и зависит от ваших пользовательских настроек.
Если вы хотите установить переменную среды как разовую, вы можете сделать это из командной строки:
- Linux и Mac :
export NODE_ENV=production
- окна :
$env:NODE_ENV = 'production'
В долгосрочной перспективе вы должны сохранить это, чтобы оно не сбрасывалось при перезагрузке - вместо того, чтобы перечислить все возможные способы сделать это, я позволю вам найти, как это сделать самостоятельно!
Конвенция dictacted , что есть только два значения , которые следуют использовать для NODE_ENV
, либо production
или development
, строчных букв. Ничто не мешает вам добавлять дополнительные значения, но это, вероятно, не очень хорошая идея, так как я вижу много такого кода во многих модулях node_module, которые я использую:
var development = process.env.NODE_ENV !== 'production';
Обратите внимание , что это действительно плохая идея , чтобы попытаться установить NODE_ENV
из внутри самого приложения узла - если вы делаете это будет применяться только к процессу , из которого он был установлен , так что вещи , вероятно , не будет работать , как вы ожидаете их. Не делай этого - ты пожалеешь об этом.
app.configure('development', ...)
или «производство», чтобы установить определенные параметры только для среды разработки или производства. См. Expressjs.com/api.html#app.configure