NODE_ENV
це змінна середовище, популярна в рамках експрес- веб-сервера. Коли запускається додаток вузла, він може перевіряти значення змінної середовища та робити різні речі на основі значення. NODE_ENV
конкретно використовується (за умовами) для визначення того, чи є певне середовище виробничим чи розвивальним середовищем. Загальним випадком використання є запущення додаткового коду налагодження або журналу, якщо він працює в середовищі розробки.
Доступ до NODE_ENV
Ви можете використовувати наступний код для доступу до змінної оточуючого середовища, щоб ви могли виконувати власні перевірки та логіку:
var environment = process.env.NODE_ENV
Або ж використовувати експрес " 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_:
var development = process.env.NODE_ENV !== 'production';
Зверніть увагу , що це дійсно погана ідея , щоб спробувати встановити NODE_ENV
з всередині самого додатка вузла - якщо ви робите це буде застосовуватися тільки до процесу , з якого він був встановлений , так що речі , ймовірно , не працюватиме , як ви очікуєте їх. Не робіть цього - ви пошкодуєте.
app.configure('development', ...)
або "виробництво", щоб встановити певні настройки лише для середовищ розробки або виробництва. Дивіться expressjs.com/api.html#app.configure