Skip to content

Migration von V5

Umwelt -API

Im Rahmen der neuen experimentellen Umgebung API war ein großes internes Refactoring erforderlich. Vite 6 ist bemüht, Veränderungen zu vermeiden, um sicherzustellen, dass die meisten Projekte schnell auf das neue Major aktualisieren können. Wir werden warten, bis ein großer Teil des Ökosystems bewegt ist, um die Verwendung der neuen APIs zu stabilisieren und zu empfehlen. Es kann einige Kantenfälle geben, aber diese sollten nur die Verwendung von Rahmenbedingungen und Tools auf niedriger Ebene beeinflussen. Wir haben mit Betreuern im Ökosystem zusammengearbeitet, um diese Unterschiede vor der Veröffentlichung zu mindern. Bitte öffnen Sie ein Problem , wenn Sie eine Regression erkennen.

Einige interne APIs wurden aufgrund von Änderungen in der Implementierung von Vite entfernt. Wenn Sie sich auf einen von ihnen verlassen haben, erstellen Sie bitte eine Funktionsanfrage .

Vite Runtime API

Die experimentelle Vite -Laufzeit -API entwickelte sich zu der in Vite 6 im Rahmen der neuen experimentellen Umgebung API veröffentlichten Modulläufer -API . Angesichts der Tatsache, dass die Funktion experimentell war, ist die Entfernung der in Vite 5.1 eingeführten vorherigen API keine Bruchänderung, aber Benutzer müssen ihre Verwendung im Rahmen der Migration in Vite 6 auf das Modulläuferäquivalent aktualisieren.

Allgemeine Änderungen

Standardwert für resolve.conditions

Diese Änderung betrifft keine Benutzer ssr.resolve.conditions die resolve.conditions nicht konfiguriert haben ssr.resolve.externalConditions

In Vite 5 betrug der Standardwert für resolve.conditions [] und einige Bedingungen wurden intern hinzugefügt. Der Standardwert für ssr.resolve.conditions war der Wert von resolve.conditions .

Aus Vite 6 werden einige der Bedingungen nicht mehr intern hinzugefügt und müssen in die Konfigurationswerte aufgenommen werden. Die Bedingungen, die nicht mehr intern hinzugefügt werden für

  • resolve.conditions sind "[" Modul "," Browser "," Entwicklung "|Produktion '] `
  • ssr.resolve.conditions sind "[" Modul "," Knoten "," Entwicklung "|Produktion '] `

Die Standardwerte für diese Optionen werden auf die entsprechenden Werte aktualisiert und ssr.resolve.conditions verwendet resolve.conditions nicht mehr als Standardwert. Beachten Sie, dass Entwicklung|. These default values are exported from is a special variable that is replaced withProduktionorEntwicklungdepending on the value ofandas`

Wenn Sie einen benutzerdefinierten Wert für resolve.conditions oder ssr.resolve.conditions angegeben haben, müssen Sie ihn aktualisieren, um die neuen Bedingungen einzuschließen. Wenn Sie beispielsweise ['custom'] für resolve.conditions angegeben haben, müssen Sie stattdessen ['custom', ...defaultClientConditions] angeben.

Json stringify

In Vite 5 war json.namedExports deaktiviert, wenn json.stringify: true eingestellt ist.

Ab Vite 6 ist json.stringify: true json.namedExports deaktiviert und der Wert respektiert. Wenn Sie das vorherige Verhalten erreichen möchten, können Sie json.namedExports: false festlegen.

Vite 6 führt außerdem einen neuen Standardwert für json.stringify ein, der 'auto' ist, der nur große JSON -Dateien anstriert. Um dieses Verhalten zu deaktivieren, setz json.stringify: false .

Erweiterte Unterstützung von Vermögensreferenzen in HTML -Elementen

In Vite 5 konnten nur wenige unterstützte HTML -Elemente Vermögenswerte verweisen, die von VITE verarbeitet und gebündelt werden, wie z. B. <link href> , <img src> usw.

Vite 6 erweitert die Unterstützung auf noch mehr HTML -Elemente. Die vollständige Liste finden Sie in den HTML -Features -Dokumenten.

Um die HTML-Verarbeitung für bestimmte Elemente abzuschalten, können Sie das vite-ignore Attribut für das Element hinzufügen.

Postcss-Lastkonfiguration

postcss-load-config wurde von V4 auf V6 aktualisiert. tsx oder jiti ist nun erforderlich, um TypeScript -PostCSS -Konfigurationsdateien anstelle von ts-node zu laden. Auch yaml ist jetzt erforderlich, um YAML -Postcs -Konfigurationsdateien zu laden.

Sass verwendet jetzt standardmäßig moderne API

In Vite 5 wurde die Legacy -API standardmäßig für SASS verwendet. VITE 5.4 Unterstützung für die moderne API.

Aus Vite 6 wird die moderne API standardmäßig für SASS verwendet. Wenn Sie die Legacy -API noch verwenden möchten, können Sie css.preprocessorOptions.sass.api: 'legacy' css.preprocessorOptions.scss.api: 'legacy' . Beachten Sie jedoch, dass die Legacy -API -Unterstützung in Vite 7 entfernt wird.

Um in die moderne API zu wandern, siehe die Sass -Dokumentation .

Passen Sie den CSS -Ausgabedateinamen im Bibliotheksmodus an

In Vite 5 betrug der CSS -Ausgabedatei -Name im Bibliotheksmodus immer style.css und kann nicht einfach durch die VITE -Konfiguration geändert werden.

Aus Vite 6 verwendet der Standarddateiname jetzt "name" in package.json , ähnlich wie die JS -Ausgabedateien. Wenn build.lib.fileName mit einer Zeichenfolge festgelegt ist, wird der Wert auch für den CSS -Ausgabedateinamen verwendet. Um einen anderen CSS -Dateinamen explizit festzulegen, können Sie die neue build.lib.cssFileName verwenden, um ihn zu konfigurieren.

Um zu migrieren, sollten Sie sich auf den Dateinamen style.css Dateinamen anhand Ihres Paketnamens auf den neuen Namen auf den neuen Namen aktualisieren. Zum Beispiel:

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

Wenn Sie es vorziehen, wie in Vite 5 bei style.css zu bleiben, können Sie stattdessen build.lib.cssFileName: 'style' einstellen.

Fortschrittlich

Es gibt noch andere Bruchänderungen, die nur wenige Benutzer betreffen.

Migration von V4

Überprüfen Sie die Migration vom V4 -Handbuch in den VITE V5 -Dokumenten zuerst, um die erforderlichen Änderungen an der Port -Port auf VITE 5 anzuzeigen, und fahren Sie dann mit den Änderungen auf dieser Seite fort.

Released under the MIT License. (dev)