Node.js, разница между разработкой и производством

У вас могут быть разные конфигурации для производственной среды и среды разработки.
Node.js предполагает, что он всегда работает в среде разработки. Вы можете сигнализировать Node.js о том, что вы работаете в рабочей среде, установив NODE_ENV=production переменную среды.
Обычно это делается с помощью команды

export NODE_ENV=production

Лучше поместить его в файл конфигурации вашей оболочки (например, .bash_profile в оболочке Bash), поскольку в противном случае настройка не сохранится в случае перезагрузки системы.
Вы также можете применить переменную среды, добавив её к команде инициализации приложения:

NODE_ENV=production node app.js

Эта переменная среды является соглашением, которое также широко используется во внешних библиотеках.
Установка среды production обычно гарантирует, что
ведение журнала сведено к минимальному, необходимому уровню
больше уровней кэширования для оптимизации производительности
Например, Pug, библиотека шаблонов, используемая Express, компилируется в режиме отладки, если NODE_ENV не установлено значение production. Экспресс-представления компилируются при каждом запросе в режиме разработки, а в продакшене кэшируются. Есть ещё много примеров.
Вы можете использовать условные операторы для выполнения кода в разных средах:

if (process.env.NODE_ENV === 'development') {
  // ...
}

if (process.env.NODE_ENV === 'production') {
  // ...
}

if (['production', 'staging'].includes(process.env.NODE_ENV)) {
  // ...
}

Например, в приложении Express вы можете использовать это для установки разных обработчиков ошибок для каждой среды:

if (process.env.NODE_ENV === 'development') {
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
}

if (process.env.NODE_ENV === 'production') {
  app.use(express.errorHandler());
}

Обсуждение закрыто.