Переход с версии v6
Поддержка Node.js
Vite больше не поддерживает Node.js 18, так как её жизненный цикл завершён. Теперь требуется Node.js версии 20.19+ или 22.12+.
Изменение целевых браузеров по умолчанию
Значение по умолчанию для build.target
обновлено до более новых версий браузеров:
- Chrome: 87 → 107
- Edge: 88 → 107
- Firefox: 78 → 104
- Safari: 14.0 → 16.0
Эти версии браузеров соответствуют наборам функций Baseline, классифицируемых как широко доступные на 1 мая 2025. Другими словами, все они были выпущены до 1 ноября 2022.
В Vite 5 целевой параметр по умолчанию назывался 'modules'
, но он больше не доступен. Вместо него введён новый целевой параметр по умолчанию: 'baseline-widely-available'
.
Основные изменения
Удалена поддержка устаревшего Sass API
Как и планировалось, поддержка устаревшего Sass API удалена. Vite теперь поддерживает только современный API. Опции css.preprocessorOptions.sass.api
и css.preprocessorOptions.scss.api
можно удалить.
Удалённые устаревшие функции
splitVendorChunkPlugin
(помечен как устаревший в v5.2.7)- Этот плагин изначально был добавлен для упрощения миграции на Vite v2.9.
- Для управления разбиением на чанки при необходимости можно использовать опцию
build.rollupOptions.output.manualChunks
.
enforce
/transform
на уровне хуков дляtransformIndexHtml
(помечены как устаревшие в v4.0.0)- Интерфейс был изменён для соответствия объектным хукам Rollup.
- Вместо
enforce
следует использоватьorder
, а вместоtransform
—handler
.
Расширенные возможности
Существуют и другие критические изменения, которые затрагивают лишь немногих пользователей.
- [#19979] chore: определён диапазон версий для одноранговых зависимостей
- Указан диапазон версий одноранговых зависимостей для препроцессоров CSS.
- [#20013] refactor: удалён неиспользуемый
legacy.proxySsrExternalModules
- Свойство
legacy.proxySsrExternalModules
не оказывало влияния начиная с Vite 6 и теперь удалено.
- Свойство
- [#19985] refactor!: удалены устаревшие свойства, используемые только для типов
- Удалены следующие неиспользуемые свойства:
ModuleRunnerOptions.root
,ViteDevServer._importGlobMap
,ResolvePluginOptions.isFromTsImporter
,ResolvePluginOptions.getDepsOptimizer
,ResolvePluginOptions.shouldExternalize
,ResolvePluginOptions.ssrConfig
.
- Удалены следующие неиспользуемые свойства:
- [#19986] refactor: удалены устаревшие свойства Environment API
- Эти свойства были помечены как устаревшие с самого начала и теперь удалены.
- [#19987] refactor!: удалены устаревшие типы, связанные с
HotBroadcaster
- Эти типы были частью устаревшего Runtime API и теперь удалены:
HMRBroadcaster
,HMRBroadcasterClient
,ServerHMRChannel
,HMRChannel
.
- Эти типы были частью устаревшего Runtime API и теперь удалены:
- [#19996] fix(ssr)!: исключён доступ к переменной
Object
в преобразованном SSR-коде- Теперь для контекста выполнения модуля требуется
__vite_ssr_exportName__
.
- Теперь для контекста выполнения модуля требуется
- [#20045] fix: все значения
optimizeDeps.entries
обрабатываются как шаблоны (globs)optimizeDeps.entries
больше не принимает строковые пути напрямую, теперь всегда используются шаблоны (globs).
- [#20222] feat: применение некоторых промежуточных слоёв до хука
configureServer
, [#20224] feat: применение некоторых промежуточных слоёв до хукаconfigurePreviewServer
- Некоторые промежуточные слои теперь применяются до хуков
configureServer
/configurePreviewServer
. Если вы не хотите, чтобы определённый маршрут использовал опцииserver.cors
/preview.cors
, убедитесь, что связанные заголовки удалены из ответа.
- Некоторые промежуточные слои теперь применяются до хуков
Переход с v5
Сначала ознакомьтесь с Руководством по переходу с v5 в документации Vite v6, чтобы увидеть необходимые изменения для переноса вашего приложения на Vite 6, а затем продолжите с изменениями на этой странице.