Ответ вслух Middle Сборщики обновлено

Vite или webpack

Вопрос

Чем Vite отличается от webpack? Почему новые проекты чаще начинают на Vite?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

В dev webpack собирает бандл целиком до старта сервера, и на большом проекте это десятки секунд. Vite отдаёт браузеру исходные ES-модули по запросу и преобразует только то, что открыто, а зависимости заранее пребандлит быстрым esbuild.

Что должно прозвучать в ответе

  • webpack в dev собирает бандл целиком

  • Vite отдаёт нативные ES-модули по запросу

  • зависимости пребандлятся заранее

  • быстрый старт и HMR

  • в прод Vite делает полноценную оптимизированную сборку

  • webpack оправдан при сложной legacy-конфигурации или Module Federation

Что могут спросить следом

  • Почему в dev на Vite много сетевых запросов и это нормально?
  • Что такое пребандлинг зависимостей?
  • Как бы ты переносил проект с webpack на Vite?

Разбор

В dev webpack собирает бандл целиком до старта сервера, и на большом проекте это десятки секунд. Vite отдаёт браузеру исходные ES-модули по запросу и преобразует только то, что открыто, а зависимости заранее пребандлит быстрым esbuild. Поэтому старт и HMR почти мгновенные.

Для продакшна Vite делает обычную оптимизированную сборку с tree shaking и code splitting. Его выбирают за скорость, простую конфигурацию и то, что на нём построены Vitest и многие фреймворки. webpack остаётся там, где много своих лоадеров и плагинов, Module Federation или большая legacy-конфигурация, переносить которую дорого.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме