Выбор ответа Middle Сборщики обновлено
Почему Vite быстро стартует в dev
Вопрос
Почему dev-сервер Vite обычно стартует заметно быстрее, чем webpack на том же большом проекте?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Vite не собирает граф заранее, а отдаёт ES-модули по запросу. webpack перед стартом обходит и собирает весь граф.
Варианты ответа
- Vite написан на Rust целиком, а webpack на JavaScript и потому медленнее
- Vite в dev не проверяет синтаксис и не парсит код
- Vite не собирает граф заранее, а отдаёт ES-модули по запросуправильный ответ
- Vite кеширует готовый бандл в браузере между запусками
Разбор
webpack перед стартом обходит и собирает весь граф. Vite отдаёт модули по запросу браузера, поэтому стартовое время почти не зависит от размера проекта. Зависимости из node_modules один раз предварительно собираются.
- Vite написан на TypeScript, быстрые части (esbuild, Rolldown) на Go и Rust, дело не в языке целиком.
- Синтаксис проверяется: файл с ошибкой не трансформируется.
- Бандл в браузере между запусками не хранится, в dev бандла приложения вообще нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.