Skip to content

Миграция из V5

Окружающая среда API

В рамках новой экспериментальной среды API потребовался большой внутренний рефакторинг. VITE 6 стремится избежать нарушения изменений, чтобы большинство проектов могли быстро перейти на новую специальность. Мы подождем, пока большая часть экосистемы не перенесена на стабилизацию и начнете рекомендовать использование новых API. Там могут быть некоторые краевые случаи, но они должны влиять только на использование низкого уровня в рамках и инструментах. Мы работали с сопровождающими в экосистеме, чтобы смягчить эти различия перед выпуском. Пожалуйста, откройте проблему, если вы заметите регрессию.

Некоторые внутренние API были удалены из -за изменений в реализации VITE. Если вы полагались на один из них, пожалуйста, создайте запрос на функцию .

Vite Runtime API

Экспериментальный API выполнения Vite Erunting превратился в API модуля, выпущенный в Vite 6 как часть нового API экспериментальной среды . Учитывая, что эта функция была экспериментальной, удаление предыдущего API, представленного в VITE 5.1, не является нарушением, но пользователи должны будут обновить их использование для эквивалента «Бегущего модуля» как часть миграции в VITE 6.

Общие Изменения

Значение по умолчанию для resolve.conditions

Это изменение не влияет на пользователей, которые не ssr.resolve.externalConditions resolve.conditions ssr.resolve.conditions

В Vite 5 значение по умолчанию для resolve.conditions было [] , а некоторые условия были добавлены внутри. Значение по умолчанию для ssr.resolve.conditions было значением resolve.conditions .

Из Vite 6 некоторые условия больше не добавляются внутри и должны быть включены в значения конфигурации. Условия, которые больше не добавляются внутри

  • resolve.conditions - «['модуль», «браузер», «Разработка|Производство '] `
  • ssr.resolve.conditions - «['модуль», «Узел», «Разработка|Производство '] `

Значения по умолчанию для этих параметров обновляются до соответствующих значений, а ssr.resolve.conditions больше не использует resolve.conditions в качестве значения по умолчанию. Обратите внимание, что разработка|Производство is a special variable that is replaced with Производство or Разработка depending on the value of Process.env.Node_env . These default values are exported from Vite as DefaultClientConditions and DefaultserverConditions`.

Если вы указали пользовательское значение для resolve.conditions или ssr.resolve.conditions , вам необходимо обновить его, чтобы включить новые условия. Например, если вы ранее указали ['custom'] для resolve.conditions , вам нужно указать ['custom', ...defaultClientConditions] вместо этого.

Json stringify

В Vite 5, когда json.stringify: true установлено, json.namedExports был отключен.

Из Vite 6, даже когда json.stringify: true установлено, json.namedExports не отключено, а значение уважается. Если вы хотите достичь предыдущего поведения, вы можете установить json.namedExports: false .

VITE 6 также вводит новое значение по умолчанию для json.stringify , которое равно 'auto' , которое будет строить только большие файлы JSON. Чтобы отключить это поведение, установите json.stringify: false .

Расширенная поддержка ссылок на активы в HTML -элементах

В Vite 5 лишь несколько поддерживаемых HTML -элементов были способны ссылаться на активы, которые будут обработаны и связаны с помощью VITE, таких как <link href> , <img src> т. Д. И т. Д.

VITE 6 расширяет поддержку еще более HTML -элементам. Полный список можно найти в документах HTML .

Чтобы отказаться от обработки HTML по определенным элементам, вы можете добавить атрибут vite-ignore в элемент.

Postcss-Load-Config

postcss-load-config был обновлен до V6 от V4. tsx или jiti теперь требуются для загрузки файлов конфигурации PostCSS TypeScript вместо ts-node . Также yaml теперь необходимо загрузить файлы конфигурации YAML PostCSS.

SASS теперь использует современный API по умолчанию

В Vite 5 Legacy API использовался по умолчанию для SASS. VITE 5.4 Добавлена поддержка современного API.

Из Vite 6 современный API используется по умолчанию для SASS. Если вы хотите использовать API Legacy, вы можете css.preprocessorOptions.scss.api: 'legacy' css.preprocessorOptions.sass.api: 'legacy' . Но обратите внимание, что поддержка API Legacy будет удалена в Vite 7.

Чтобы мигрировать в современный API, см. Документацию SASS .

Настроить имя выходного файла CSS в режиме библиотеки

В Vite 5 имя выходного файла CSS в режиме библиотеки всегда было style.css и не может быть легко изменено через конфигурацию VITE.

Из Vite 6 имя файла по умолчанию теперь использует "name" в package.json , аналогично выходным файлам JS. Если build.lib.fileName установлено с помощью строки, значение также будет использоваться для имени выходного файла CSS. Чтобы явно установить другое имя файла CSS, вы можете использовать новый build.lib.cssFileName для его настройки.

Чтобы мигрировать, если вы полагались на имя style.css файла, вы должны обновить ссылки на его новое имя на основе имени вашего пакета. Например:

package.json
json
{
  "name": "my-lib",
  "exports": {
    "./style.css": "./dist/style.css"
    "./style.css": "./dist/my-lib.css"
  }
}

Если вы предпочитаете придерживаться style.css , как в Vite 5, вы можете установить build.lib.cssFileName: 'style' вместо этого.

Передовой

Существуют другие нарушения, которые затрагивают лишь немногих пользователей.

Миграция из V4

Сначала проверьте миграцию из руководства V4 в документах VITE V5, чтобы увидеть необходимые изменения для переноса вашего приложения в VITE 5, а затем перейдите к изменениям на этой странице.

Released under the MIT License. (dev)