DevGang
Авторизоваться

Node.js различия между development и production окружениями

Небольшая заметка о том как установить различные конфигурации в зависимости от текущего окружения Dev или Prod

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

Обычно это делается путем выполнения команды в командной строке

export NODE_ENV=production

Но лучше поместить его в файл конфигурации оболочки (например, .bash_profile с оболочкой Bash), поскольку в противном случае этот параметр не сохраняется в случае перезапуска системы.

Вы также можете применить переменную окружения, добавив ее в команду инициализации приложения:

NODE_ENV=production node app.js

Переменная среды - это соглашение, которое широко используется и во внешних библиотеках.

Установка среды для производства в целом обеспечивает

  • Логирование системы сводится к минимому, обрабатывая только критические ошибки
  • Для повышения производительности

Например, Pug, библиотека шаблонов, используемая Express, компилируется в режиме отладки, если NODE_ENV не установлен как production. Шаблоны Express компилируются в каждом запросе в режиме разработки, в то время как в production версии они кэшируются. Есть еще много примеров.

Express предоставляет привязки конфигурации, специфичные для среды, которые автоматически вызывают на основе значения переменной NODE_ENV:

app.configure('development', () => {
  //...
})
app.configure('production', () => {
  //...
})
app.configure('production', 'staging', () => {
  //...
})

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

app.configure('development', () => {
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
})

app.configure('production', () => {
  app.use(express.errorHandler())
})
#JavaScript #NodeJS
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

Напиши статью и выиграй годовую подписку на Яндекс плюс или лицензию от Jet Brains

Участвовать