Migração da Versão 3
Rollup 3
Agora a Vite está a usar Rollup 3, que permitiu-nos simplificar a manipulação de recurso interno da Vite e tem muitos aprimoramentos. Consulte as notas de lançamento da Rollup 3.
A Rollup 3 é maioritariamente compatível com a Rollup 2. Se estiveres a usar rollupOptions
personalizada no teu projeto e teres problemas, consulte o Guia de Migração da Rollup para atualizar a tua configuração.
Mudança de Linhas de Bases de Navegador Moderno
A construção de navegador moderno agora mira o safari14
por padrão para compatibilidade de ES2020 mais extensa (movido do safari13
). Isto significa que construções modernas podem agora usar BigInt
e que a aglutinação de operador nulo já não é mais traduzida. Se precisares suportar navegadores antigos, podes adicionar o @vitejs/plugin-legacy
como de costume.
Mudanças Gerais
Codificação
O conjunto de caracteres padrão da construção agora é utf8
(consulte #10753 para ter mais detalhes).
Importação de CSS como uma Sequência de Caracteres
Na Vite 3, a importação da exportação padrão de um ficheiro .css
poderia introduzir um duplo carregamento do CSS.
import cssString from './global.css'
Este duplo carregamento poderia ocorrer já que um ficheiro .css
será emitido e é provável que a sequência de caracteres de CSS também será usada pelo código da aplicação — por exemplo, injetado pela abstração em tempo de execução. A partir da Vite 4, a exportação padrão de .css
tem sido depreciada. O modificar de sufixo de consulta ?inline
precisa ser usado neste caso, já que este não emite os estilos do .css
importados
import stuff from './global.css?inline'
Construções de Produção por Padrão
O vite build
agora sempre construirá para produção independentemente do --mode
passado. Anteriormente, mudar o mode
para outro que não seja production
resultaria em uma construção de desenvolvimento. Se desejas continuar a construir para o desenvolvimento, podes definir NODE_ENV=development
no ficheiro .env.{mode}
.
Como parte deste mudança, vite dev
e vite build
já não sobreporão o p
NODE_ENV
se ele já estiver definido. Assim se tiveres definido p
NODE_ENV = 'development'
antes da construção, ele também construirá para desenvolvimento. Isto dá-te mais controlo quando estiveres a executar várias construções ou servidores de desenvolvimento em paralelo.
Consulte a documentação de mode
atualizada para mais detalhes.
Variáveis de Ambiente
A Vite agora usa dotenv
16 e dotenv-expand
9 (anteriormente dotenv
14 e dotenv-expand
5). Se tiveres um valor que inclui #
, `
, precisarás envolvê-los com aspas.
-VITE_APP=ab#cd`ef
+VITE_APP="ab#cd`ef"
Para mais detalhes, consulte o relatório de mudança da dotenv
e da dotenv-expand
.
Avançado
Existe algumas mudanças que apenas afetam criadores de extensão e ferramenta.
- [#11036] feat(client): remove never implemented hot.decline
- use
hot.invalidate
no lugar daquela
- use
- [#9669] feat: align object interface for
transformIndexHtml
hook- use
order
no lugar deenforce
- use
Também existe outras mudanças de quebra compatibilidade que apenas afetam alguns utilizadores.
- [#11101] feat(ssr)!: remove dedupe and mode support for CJS
- Tu deves migrar para o modo de Módulo de ECMAScript padrão para SSR, o suporte a SSR de CJS pode ser removido na próxima Vite principal.
- [#10475] feat: handle static assets in case-sensitive manner
- O teu projeto não deve depender de um SO que ignora a diferença entre maiúsculas e minúsculas dos nomes de ficheiro.
- [#10996] fix!: make
NODE_ENV
more predictable- Consulte o PR para um explicação sobre esta mudança.
- [#10903] refactor(types)!: remove facade type files
Migração da Versão 2
Consulte primeiro o Guia de Migração da Vite 2 na documentação da Vite 3 para veres as mudanças necessárias para migrares a tua aplicação para Vite 3, e depois prosseguir com as mudanças nesta página.
Migração da Versão 1
Consulte o Guia de Migração da Vite 1 na documentação da Vite v2 primeiro para ver as mudanças necessárias para passar a tua aplicação para a Vite v2, e então prosseguir com as mudanças nesta página.