Поскольку vite не нужно упаковывать при запуске, нет необходимости анализировать зависимости модулей и компилировать, поэтому скорость запуска очень высокая. Когда браузер запрашивает необходимые модули, модули компилируются. Этот режим динамической компиляции по требованию значительно сокращает время компиляции. Когда проект больше и файлов больше, преимущества разработки на Vite становятся более очевидными.
Горячее обновление Vite быстрее, чем веб-пакет
С точки зрения HRM, когда содержимое определенного модуля меняется, просто позвольте браузеру повторно запросить модуль вместо перекомпиляции всех зависимостей модуля, как в случае с веб-пакетом.
Vite использует esbuild (отредактированный Go) для предварительной сборки зависимостей, а веб-пакет основан на nodejs, который в 10-100 раз быстрее, чем node.
viteНедостатки:
Экология не так хороша, как у вебпака, а загрузчик и плагин недостаточно богаты.
При упаковке в производственную среду vite использует традиционный пакет для упаковки, а esbuild производственной среды недостаточно дружелюбен для CSS и разделения кода. Таким образом, преимущество vite отражается на стадии разработки.
Не используется в больших масштабах, некоторые проблемы будут скрыты.
Браузер разработки проекта должен поддерживать esmodule, но целевой объект не может распознать синтаксис commonis.
3. Рабочий процесс и разница между webpack и vite (общее объяснение)
Рабочий процесс webpack и vite:
Упаковка Webpack заключается в том, чтобы сначала проанализировать маршрут проекта, затем проанализировать модули, соответствующие этому маршруту, затем упаковать их все, а затем вызвать сервер, поэтому скорость компиляции низкая, и все неиспользуемые модули также упаковываются.
Vite сначала вызывает сервер, подготавливает его напрямую, а затем видит, какой маршрут вы запрашиваете, а затем упаковывает только модуль, соответствующий этому маршруту. Если запрошенный маршрут отсутствует, он не будет упакован. Его можно скомпилировать и упаковать по требованию. без ожидания.Компилируется все приложение, что увеличивает скорость компиляции и время выполнения.