Сравни Vite, Webpack и Rollup.
Продвинутые темы
Vite, Webpack и Rollup — сборщики с разным назначением: Vite быстрый для разработки SPA, Webpack мощный и гибкий для сложных приложений, Rollup оптимален для библиотек.
Vite
Современный сборщик с очень быстрым dev-режимом:
- Dev: нативные ES-модули (без бандлинга) + быстрые трансформации (Oxc с Vite 8, раньше esbuild) → мгновенный старт и HMR.
- Prod: с Vite 8 — Rolldown (Rust-сборщик с API, совместимым с Rollup); до v8 — Rollup.
- Плюсы: скорость, минимум конфига, из коробки поддержка TS/JSX/CSS.
- Когда: новые SPA (React/Vue), современный дефолт.
Webpack
Мощный, зрелый, гибкий:
- Богатая экосистема loaders/plugins, настраивается под что угодно.
- Минусы: много конфигурации, медленнее в dev на больших проектах.
- Плюсы: гибкость, code splitting, поддержка любых сценариев.
- Когда: сложные/легаси проекты, нестандартные требования, микрофронтенды (Module Federation).
Rollup
Заточен под библиотеки:
- Чистый ES-модульный вывод, отличный tree shaking, компактные бандлы.
- Плюсы: минимальный оверхед, идеален для публикации пакетов.
- Минусы: для приложений нужны плагины (dev-сервер и т.п.).
- Когда: сборка библиотек/npm-пакетов.
Сравнение
- Vite — Скорость dev: очень быстро; Конфиг: минимум; Назначение: SPA; Движок: Rolldown + Oxc (до v8 — esbuild + Rollup)
- Webpack — Скорость dev: медленнее; Конфиг: много; Назначение: сложные приложения; Движок: свой
- Rollup — Скорость dev: —; Конфиг: средне; Назначение: библиотеки; Движок: свой
Как выбирать
- Новое приложение → Vite (скорость, простота).
- Сложные требования/легаси → Webpack.
- Библиотека → Rollup.
Коротко для собеседования
Vite — быстрый dev (ES-модули, сборка через Rolldown с v8; раньше esbuild + Rollup), минимум конфига, для новых SPA. Webpack — мощный, гибкий, богатая экосистема, но много конфига и медленнее — для сложных/легаси приложений и микрофронтендов. Rollup — для библиотек (чистый ESM, tree shaking). До v8 Vite использовал Rollup для прод-сборки, с v8 — совместимый с ним Rolldown.