Какие использовал Environment

Ответ

В разработке я чаще всего работаю с такими окружениями:

  1. Development - локальная среда для разработки. Использую Webpack Dev Server, Hot Module Replacement, source maps. Пример настройки в webpack.config.js:
mode: 'development',
devtool: 'eval-source-map'
  1. Staging - максимально приближено к production, но с debug-логированием. Часто разворачивается на тестовых серверах.

  2. Production - минифицированный код, оптимизированные ассеты. В вебпаке:

mode: 'production',
optimization: {
  minimize: true
}

Также использую .env файлы для хранения переменных окружения, которые подключаются через dotenv-webpack или аналоги.

Ответ 18+ 🔞

А, ну это ж классика, блядь! Каждый раз одно и то же, как будто в первый раз. Сидишь, сука, настраиваешь эти окружения, а потом нихуя не работает и думаешь: «Я что, идиот?». Нет, просто вебпак — пидарас шерстяной.

Смотри, сюда, я тебе по полочкам разложу, как у меня в голове, а то там бардак, как в коммуналке.

Первое, Development. Это типа моя берлога, где я царь и бог. Тут можно всё: оставить console.log('хуйня'), source maps чтобы дебажить, и дев-сервер, который перезагружает страницу, если я чихну. Конфиг — проще пареной репы:

mode: 'development',
devtool: 'eval-source-map'

Всё летает, всё горит. Красота, блядь. Пока не накосячишь и всё не накроется медным тазом.

Дальше идёт Staging. Вот это уже, сука, серьёзно. Как генеральная репетиция перед выступлением на публике. Код уже почти как продакшен, но я оставляю себе лазейки — debug-логи, чтобы если что-то пойдёт по пизде, можно было понять, где именно. Разворачиваю это добро на тестовом сервере и молюсь, чтобы не прилетело от тимлида.

И наконец, Production. А вот тут, ёпта, начинается магия, или пиздец — как повезёт. Включаем режим максимального параноика:

mode: 'production',
optimization: {
  minimize: true
}

Всё минифицируется, оптимизируется, сжимается так, что твоя бабушка не узнает. Никаких лишних логов, только хардкор. Один неправильный импорт — и привет, белый экран, волнение ебать.

А ещё, блядь, эти ваши .env файлы. Хранишь там ключи, пароли, урлы API. Подключаешь через какую-нибудь либу вроде dotenv-webpack, и молишься, чтобы не закоммитил этот файл в репозиторий случайно. А то потом вся команда узнает, что твой пароль от базы — 12345. Удивление пиздец.

Вот и вся философия. Три режима, три жизни. Сначала ты художник в дев-среде, потом подопытный кролик на стейджинге, а в продакшене — просто мясо, которое надеется, что ничего не упадёт.