Доступен Vite 5.0!
16 ноября 2023
Vite 4 был выпущен почти год назад и стал надёжной основой для экосистемы. Загрузки через npm за неделю увеличились с 2,5 миллиона до 7,5 миллиона, поскольку проекты продолжают строиться на общей инфраструктуре. Фреймворки продолжали развиваться, и на основе Astro, Nuxt, SvelteKit, Solid Start, Qwik City и других мы увидели новые фреймворки, присоединяющиеся и укрепляющие экосистему. Переход RedwoodJS и Remix на Vite открывает путь для дальнейшего принятия в экосистеме React. Vitest продолжал расти ещё более быстрыми темпами, чем Vite. Его команда усердно работала и скоро выпустит Vitest 1.0. История Vite при использовании с другими инструментами, такими как Storybook, Nx и Playwright, продолжала улучшаться, и то же самое касается окружений, с Vite dev, работающим как в Deno, так и в Bun.
У нас был второй вариант ViteConf месяц назад, организованная StackBlitz. Как и в прошлом году, большинство проектов в экосистеме собрались, чтобы поделиться идеями и связаться друг с другом для дальнейшего расширения общего дела. Мы также видим новые инструменты, дополняющие набор мета-фреймворков, такие как Volar и Nitro. Команда Rollup выпустила Rollup 4 в тот же день, что стало традицией, которую начал Лукаc в прошлом году.
Шесть месяцев назад был выпущен Vite 4.3. Этот релиз значительно улучшил производительность dev-сервера. Однако всё ещё есть много возможностей для улучшения. На ViteConf Эван Ю представил долгосрочный план Vite по работе над Rolldown — портом Rollup на Rust с совместимыми API. Как только он будет готов, мы намерены использовать его в Vite Core, чтобы взять на себя задачи как Rollup, так и esbuild. Это приведет к увеличению производительности сборки (а позже и к улучшению производительности разработки, поскольку мы перенесем чувствительные к производительности части Vite на Rust) и значительному сокращению несоответствий между разработкой и сборкой. Rolldown в настоящее время находится на ранних стадиях, и команда готовится открыть исходный код до конца года. Следите за новостями!
Сегодня мы отмечаем ещё одну важную веху на пути Vite. Команда Vite, участники и партнёры экосистемы рады объявить о выпуске Vite 5. Vite теперь использует Rollup 4, что уже представляет собой значительное увеличение производительности сборки. Также появились новые опции для улучшения профиля производительности вашего dev-сервера.
Vite 5 сосредоточен на очистке API (удаление устаревших функций) и упрощает несколько функций, закрывая давние проблемы, например, переключение define
на использование правильных замен AST вместо регулярных выражений. Мы также продолжаем предпринимать шаги для обеспечения будущего Vite (теперь требуется Node.js 18+, и CJS Node API был объявлен устаревшим).
Быстрые ссылки:
Документация на других языках:
Если вы новичок в Vite, мы рекомендуем сначала прочитать руководства Начало работы и Возможности.
Мы благодарны более чем 850 участникам Vite Core, а также разработчикам и контрибьюторам плагинов Vite, интеграций, инструментов и переводов, которые помогли нам достичь этого. Мы призываем вас участвовать и продолжать улучшать Vite вместе с нами. Вы можете узнать больше в нашем Руководстве по внесению вклада. Чтобы начать, мы рекомендуем разобрать задачи, просмотреть пулреквесты, отправить пулреквесты с неудачными тестами на основе открытых задач и помогать другим в Обсуждениях и на форуме помощи Vite Land. Вы многому научитесь на этом пути и получите плавный путь к дальнейшему вкладу в проект. Если у вас есть сомнения, присоединяйтесь к нам в нашем сообществе Discord и поздоровайтесь в канале #contributing.
Чтобы быть в курсе событий, следите за нами в X или Mastodon.
Быстрый старт с Vite 5
Используйте pnpm create vite
, чтобы создать проект Vite с вашим предпочтительным фреймворком, или откройте стартовый шаблон онлайн, чтобы поиграть с Vite 5, используя vite.new. Вы также можете запустить pnpm create vite-extra
, чтобы получить доступ к шаблонам от других фреймворков и сред выполнения (Solid, Deno, SSR и стартеры библиотек). Шаблоны create vite-extra
также доступны, когда вы запускаете create vite
в разделе Others
.
Обратите внимание, что стартовые шаблоны Vite предназначены для использования в качестве площадки для тестирования Vite с различными фреймворками. При создании вашего следующего проекта мы рекомендуем обращаться к стартерам, рекомендованным каждым фреймворком. Некоторые фреймворки теперь также перенаправляют в create vite
на свои стартеры (create-vue
и Nuxt 3
для Vue, и SvelteKit
для Svelte).
Поддержка Node.js
Vite больше не поддерживает Node.js 14 / 16 / 17 / 19, которые достигли конца своего жизненного цикла (EOL). Теперь требуется Node.js 18 / 20+.
Производительность
Помимо улучшений производительности сборки Rollup 4, есть новое руководство, которое поможет вам выявить и исправить распространённые проблемы с производительностью.
Vite 5 также вводит server.warmup
— новую функцию для улучшения времени запуска. Она позволяет вам определить список модулей, которые должны быть предварительно преобразованы сразу после запуска сервера. При использовании --open
или server.open
Vite также автоматически разогреет точку входа вашего приложения или предоставленный URL для открытия.
Основные изменения
- Vite теперь работает на Rollup 4
- CJS Node API был признан устаревшим
- Переработана стратегия замены
define
иimport.meta.env.*
- Значение внешних модулей SSR теперь соответствует продакшен-версии
worker.plugins
теперь является функцией- Разрешены пути, содержащие
.
, для возврата к index.html - Согласование поведения при разработке и предварительном просмотре HTML-кода
- Файлы манифеста теперь по умолчанию генерируются в директории
.vite
- Сочетания клавиш CLI требуют дополнительного нажатия
Enter
- Обновлено поведение
experimentalDecorators
иuseDefineForClassFields
в TypeScript - Удалён флаг
--https
иhttps: true
- Удалены API
resolvePackageEntry
иresolvePackageData
- Удалены ранее устаревшие API
- Узнайте больше о продвинутых изменениях, влияющих на авторов плагинов и инструментов
Переход на Vite 5
Мы работали с партнёрами экосистемы, чтобы обеспечить плавную миграцию на эту новую основную версию. В очередной раз, vite-ecosystem-ci сыграл ключевую роль в том, чтобы помочь нам внести более смелые изменения, избегая регрессий. Мы рады видеть, что другие экосистемы принимают аналогичные схемы для улучшения сотрудничества между своими проектами и разработчиками.
Для большинства проектов обновление до Vite 5 должно быть простым. Но мы рекомендуем ознакомиться с подробным Руководством по переходу перед обновлением.
Подробный список изменений в ядре Vite можно найти в Журнале изменений Vite 5.
Благодарности
Vite 5 — это результат долгих часов работы нашего сообщества участников, разработчиков, авторов плагинов и команды Vite. Огромная благодарность Бьорну Лу за руководство процессом выпуска этой важной версии.
Мы также благодарны отдельным лицам и компаниям, которые спонсируют разработку Vite. StackBlitz, Nuxt Labs и Astro продолжают инвестировать в Vite, нанимая членов команды Vite. Особая благодарность спонсорам на GitHub Sponsors Vite, Open Collective Vite и GitHub Sponsors Эвана Ю. Особое упоминание Remix за то, что стал золотым спонсором и вернулся к поддержке после перехода на Vite.