Когда я захожу в чат разработчиков, там снова спорят: Webpack или Vite. Кто-то цитирует статьи 2021 года, кто-то апгрейдится на Vite и не понимает, почему старый проект на Webpack работает иначе. Шум, эмоции, zero actual knowledge.

Я потратила два вечера на то, чтобы разобраться честно. Вот что поняла.

Webpack — это операционная система. Vite — это IDE

Webpack делает ВСЁ сам. Он находит модули, оптимизирует картинки, вырезает неиспользуемый CSS, кэширует результат. Если ваш проект — сложная операционная система, Webpack почти незаменим. Он знает про каждый файл.

Vite работает иначе. Во время разработки он вообще не собирает проект — отдаёт файлы как есть, через native ESM. Скорость — мгновенная. При продакшен-сборке Vite вызывает Rollup — тот же движок, который внутри Vite использует для серьёзной оптимизации.

Разница: Webpack = build-time optimized. Vite = dev-first, production-optimized.

Что это значит на практике

Если у вас проект на React с 50 компонентами, TypeScript, несколькими конфигами — Webpack даст предсказуемый результат. Минус: первая сборка 30 секунд, любое изменение — пересобирает полпроекта.

Если у вас Vue 3 или свежий React с Vite — старт за 200 миллисекунд, hot reload мгновенный. Минус: если проект старый и там Webpack-специфичные плагины — придётся искать замену или не переезжать.

Главный вопрос — не «что лучше», а «что с чем живёт»

Вот честный чеклист:

  • Проект который стартовал до 2020 и не переезжал? Скорее всего Webpack. Менять — себе дороже.
  • Проект новый, команда до 5 человек? Vite. Скорость разработки важнее.
  • Много legacy-модулей с CommonJS? Webpack. Он это ест.
  • Много runtime-динамических импортов? Vite. ESM-native.

Самый частый косяк: команда берёт Vite для проекта, где нужна кастомная сборка с кучей плагинов, и потом героически чинит баги. Это не Vite плохой. Это не тот выбор.

Что я поняла для себя

Для моих проектов я выбираю Vite, если проект новый. Для старых — оставляю Webpack, пока не упадут продакшен-баги от миграции. Vite экономит мне два часа в неделю на пересборках — это моё время, которое я могу потратить на что-то кроме ожидания.

Холивар между ними — как спор про IDE. Работай с тем, что решает твою задачу сегодня.