From cd0bce1782af0b896440002c3bd4fd10c4969701 Mon Sep 17 00:00:00 2001 From: Matteo Stelbrink <147656301+mstelbrink@users.noreply.github.com> Date: Sat, 15 Nov 2025 20:16:19 +0100 Subject: [PATCH 1/5] docs: extract introduction section (#631) --- docs/.vitepress/config.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index f3460a56..4285232f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -270,16 +270,25 @@ export default defineConfig({ sidebar: { '/guide/': [ { - text: 'Leitfaden', + text: 'Einführung', items: [ - { - text: 'Wieso Vite?', - link: '/guide/why', - }, { text: 'Erste Schritte', link: '/guide/', }, + { + text: 'Projekt-Philosophie', + link: '/guide/philosophy', + }, + { + text: 'Wieso Vite?', + link: '/guide/why', + }, + ], + }, + { + text: 'Guide', + items: [ { text: 'Funktionen', link: '/guide/features', @@ -332,10 +341,6 @@ export default defineConfig({ text: 'Leistung', link: '/guide/performance', }, - { - text: 'Projekt-Philosophie', - link: '/guide/philosophy', - }, { text: 'Migration von v4', link: '/guide/migration', From 66668c3cdb75a131c73871471ee6285b9e27eba7 Mon Sep 17 00:00:00 2001 From: Matteo Stelbrink <147656301+mstelbrink@users.noreply.github.com> Date: Sun, 16 Nov 2025 22:40:46 +0100 Subject: [PATCH 2/5] docs: add rolldown chapter (#686) --- docs/.vitepress/config.ts | 4 ++ docs/guide/performance.md | 2 + docs/guide/rolldown.md | 93 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 docs/guide/rolldown.md diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 4285232f..c466704f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -341,6 +341,10 @@ export default defineConfig({ text: 'Leistung', link: '/guide/performance', }, + { + text: 'Rolldown', + link: '/guide/rolldown', + }, { text: 'Migration von v4', link: '/guide/migration', diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 8c06acc8..e9788701 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -122,5 +122,7 @@ Beispiele für die Verwendung von nativen Werkzeugen: Die Verwendung von nativem Werkzeug bringt oft eine größere Installation mit sich und ist daher nicht der Standard, wenn ein neues Vite-Projekt initialisiert wird. Für größere Anwendungen hingegen kann es sich aber lohnen. +Nutzen Sie [Rolldown anstelle von Rollup und esbuild](./rolldown) für schnellere Builds und eine angeglichenere Erfahrung zwischen dev und build. + - Probieren Sie die experimentelle Unterstützung für [LightningCSS](https://github.com/vitejs/vite/discussions/13835) aus. - Verwenden Sie [`@vitejs/plugin-react-swc`](https://github.com/vitejs/vite-plugin-react-swc) anstelle von `@vitejs/plugin-react`. diff --git a/docs/guide/rolldown.md b/docs/guide/rolldown.md new file mode 100644 index 00000000..a4ede097 --- /dev/null +++ b/docs/guide/rolldown.md @@ -0,0 +1,93 @@ +# Rolldown Integration + +Vite plant die Integration von [Rolldown](https://rolldown.rs), einem Rust-basierten JavaScript-Bundler, um die Build-Leistung und -Fähigkeiten zu verbessern. + +## Was ist Rolldown? + +Rolldown ist ein moderner, leistungsstarker JavaScript-Bundler, der in Rust geschrieben wurde. Er wurde als Ersatz für Rollup entwickelt und soll erhebliche Leistungsverbesserungen bieten, während die Kompatibilität mit dem bestehenden Ökosystem erhalten bleibt. + +Rolldown konzentriert sich auf drei Grundprinzipien: + +- **Geschwindigkeit**: Mit Rust für maximale Leistung entwickelt +- **Kompatibilität**: Funktioniert mit bestehenden Rollup-Plugins +- **Entwicklererfahrung**: Vertraute API für Rollup-Benutzer + +## Warum Vite zu Rolldown migriert + +1. **Vereinheitlichung**: Vite verwendet derzeit esbuild für die Vorab-Bündelung von Abhängigkeiten und Rollup für Produktions-Builds. Rolldown zielt darauf ab, diese zu einem einzigen, leistungsstarken Bündler zu vereinen, der für beide Zwecke verwendet werden kann, wodurch die Komplexität reduziert wird. + +2. **Leistung**: Die Rust-basierte Implementierung von Rolldown bietet gegenüber JavaScript-basierten Bundlern erhebliche Leistungsverbesserungen. Auch wenn spezifische Benchmarks je nach Projektgröße und Komplexität variieren können, zeigen erste Tests vielversprechende Geschwindigkeitssteigerungen im Vergleich zu Rollup. + +Weitere Einblicke in die Beweggründe für Rolldown finden Sie unter [Gründe für die Entwicklung von Rolldown](https://rolldown.rs/guide/#why-rolldown). + +## Vorteile des Ausprobierens von `rolldown-vite` +- Profitieren Sie von deutlich schnelleren Build-Zeiten, insbesondere bei größeren Projekten. +- Geben Sie wertvolles Feedback, um die Zukunft der Bundling-Erfahrung von Vite mitzugestalten. +- Bereiten Sie Ihre Projekte auf die spätere offizielle Rolldown-Integration vor. + +## Wie man Rolldown ausprobiert + +Die Rolldown-basierte Version von Vite ist derzeit als separates Paket namens „rolldown-vite” verfügbar. Sie können es ausprobieren, indem Sie Paketüberschreibungen zu Ihrer „package.json” hinzufügen: + +:::code-group + +```json [npm] +{ + "overrides": { + "vite": "npm:rolldown-vite@latest" + } +} +``` + +```json [Yarn] +{ + "resolutions": { + "vite": "npm:rolldown-vite@latest" + } +} +``` + +```json [pnpm] +{ + "pnpm": { + "overrides": { + "vite": "npm:rolldown-vite@latest" + } + } +} +``` + +```json [Bun] +{ + "overrides": { + "vite": "npm:rolldown-vite@latest" + } +} + +``` + +::: + +Nachdem Sie diese Überschreibungen hinzugefügt haben, installieren Sie Ihre Abhängigkeiten neu und starten Sie Ihren Entwicklungsserver oder erstellen Sie Ihr Projekt wie gewohnt. Es sind keine weiteren Konfigurationsänderungen erforderlich. + +## Bekannte Einschränkungen + +Rolldown soll zwar ein direkter Ersatz für Rollup sein, es gibt jedoch Funktionen, die noch implementiert werden, sowie geringfügige beabsichtigte Unterschiede im Verhalten. Eine umfassende Liste finden Sie in [diesem GitHub PR](https://github.com/vitejs/rolldown-vite/pull/84#issue-2903144667), der regelmäßig aktualisiert wird. + +## Probleme melden + +Da es sich um eine experimentelle Integration handelt, können Probleme auftreten. Wenn dies der Fall ist, melden Sie diese bitte im Repository [`vitejs/rolldown-vite`](https://github.com/vitejs/rolldown-vite) und **nicht im Haupt-Repository von Vite**. + +Wenn Sie [Probleme melden](https://github.com/vitejs/rolldown-vite/issues/new), befolgen Sie bitte die Vorlage für Probleme und geben Sie Folgendes an: + +- Eine minimale Reproduktion des Problems +- Details zu Ihrer Umgebung (Betriebssystem, Node-Version, Paketmanager) +- Alle relevanten Fehlermeldungen oder Protokolle + +Für Echtzeit-Diskussionen und Fehlerbehebung treten Sie bitte dem [Rolldown Discord](https://chat.rolldown.rs/) bei. + +## Zukünftige Pläne + +Das Paket `rolldown-vite` ist eine vorübergehende Lösung, um Feedback zu sammeln und die Rolldown-Integration zu stabilisieren. In Zukunft wird diese Funktionalität wieder in das Haupt-Repository von Vite integriert werden. + +Wir ermutigen Sie, `rolldown-vite` auszuprobieren und durch Feedback und Fehlerberichte zur Entwicklung beizutragen. \ No newline at end of file From 8b3cfd76977c8f841a05beff56a88f87fba4536f Mon Sep 17 00:00:00 2001 From: Matteo Stelbrink <147656301+mstelbrink@users.noreply.github.com> Date: Sat, 15 Nov 2025 19:41:07 +0100 Subject: [PATCH 3/5] docs: sunset comparisons page (#630) --- docs/.vitepress/config.ts | 4 ---- docs/blog/announcing-vite2.md | 2 +- docs/guide/why.md | 10 ++++++++-- docs/public/_redirects | 2 ++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index c466704f..7cd6b0bc 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -329,10 +329,6 @@ export default defineConfig({ text: 'Backend-Integration', link: '/guide/backend-integration', }, - { - text: 'Vergleiche', - link: '/guide/comparisons', - }, { text: 'Fehlerbehebung', link: '/guide/troubleshooting', diff --git a/docs/blog/announcing-vite2.md b/docs/blog/announcing-vite2.md index ce08e91a..702b4f3b 100644 --- a/docs/blog/announcing-vite2.md +++ b/docs/blog/announcing-vite2.md @@ -33,7 +33,7 @@ Vite (französisches Wort für "schnell", ausgesprochen `/vit/`) ist eine neue A Um ein Gefühl dafür zu bekommen, wie schnell Vite ist, sehen Sie sich [dieses Vergleichsvideo](https://twitter.com/amasad/status/1355379680275128321) an, in dem das Hochfahren einer React-Anwendung auf Repl.it mit Vite im Vergleich zu `create-react-app` (CRA) gezeigt wird. -Wenn Sie noch nie von Vite gehört haben und gerne mehr darüber erfahren möchten, lesen Sie [die Gründe für das Projekt](https://vite.dev/guide/why.html). Wenn Sie sich dafür interessieren, wie sich Vite von anderen ähnlichen Tools unterscheidet, sehen Sie sich die [Vergleiche](https://vite.dev/guide/comparisons.html) an. +Wenn Sie noch nie von Vite gehört haben und gerne mehr darüber erfahren möchten, lesen Sie [die Gründe für das Projekt](https://vite.dev/guide/why.html). Wenn Sie sich dafür interessieren, wie sich Vite von anderen ähnlichen Tools unterscheidet, sehen Sie sich die [Vergleiche](https://v5.vite.dev/guide/comparisons.html) an. ## Was ist neu in 2.0 diff --git a/docs/guide/why.md b/docs/guide/why.md index 14a9b1d2..0b97f77c 100644 --- a/docs/guide/why.md +++ b/docs/guide/why.md @@ -57,6 +57,12 @@ Die aktuelle Plugin-API von Vite ist nicht mit der Verwendung von `esbuild` als Rollup hat auch an Leistungsverbesserungen gearbeitet, [Umstellung des Parsers auf SWC in v4](https://github.com/rollup/rollup/pull/5073); währenddessen gibt es auch ein ständiges Bestreben, eine Rust-Portierung von Rollup namens Rolldown zu entwickeln. Sobald Rolldown fertig ist, könnte es sowohl Rollup als auch esbuild in Vite ersetzen, die Build-Leistung erheblich verbessern und Inkonsistenzen zwischen Entwicklung und Build beseitigen. Sie können sich [Evan You's ViteConf 2023 Keynote für weitere Details](https://youtu.be/hrdwQHoAp0M) ansehen. -## Wie unterscheidet sich Vite von X? +## Wie steht Vite im Verhältnis zu anderen ungebündelten Build-Tools? -Im Abschnitt [Vergleiche](./comparisons.md) finden Sie weitere Einzelheiten darüber, wie sich Vite von anderen ähnlichen Tools unterscheidet. +[WMR](https://github.com/preactjs/wmr) vom Preact-Team bietet einen ähnlichen Funktionsumfang. Vites universelle Rollup Plugin-Schnittstelle für dev und build wurden dadurch inspiriert. WMR wird nicht mehr weiterentwickelt. Das Preact-Team empfiehlt nun Vite mit [@preactjs/preset-vite](https://github.com/preactjs/preset-vite). + +[Snowpack](https://www.snowpack.dev/) war ebenfalls ein nativer ESM-Entwicklungsserver ohne Bündel, der Vite sehr ähnlich ist. Die Vorab-Bündelung von Abhängigkeiten durch Vite ist ebenfalls von Snowpack v1 (jetzt [`esinstall`](https://github.com/snowpackjs/snowpack/tree/main/esinstall)) inspiriert. Das Projekt wird nicht mehr gepflegt. Das Snowpack-Team arbeitet jetzt an [Astro](https://astro.build/), einem Static Site Builder, der auf Vite basiert. + +## @web/dev-server + +[@web/dev-server](https://modern-web.dev/docs/dev-server/overview/) (vorher `es-dev-server`) ist ein großartiges Projekt und die Koa-basierte Servereinrichtung von Vite 1.0 wurde davon inspiriert. Das Dachprojekt „@web“ wird aktiv gepflegt und enthält viele weitere hervorragende Tools, von denen auch Vite-Nutzer profitieren können. diff --git a/docs/public/_redirects b/docs/public/_redirects index 4dc8a830..698222bf 100644 --- a/docs/public/_redirects +++ b/docs/public/_redirects @@ -5,3 +5,5 @@ https://vitejs.dev/* https://vite.dev/:splat 301! /guide/api-vite-runtime.html /guide/api-environment 302 /guide/api-vite-environment /guide/api-environment 302 /guide/api-vite-environment.html /guide/api-environment 302 +/guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 302 +/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 302 \ No newline at end of file From a98865247137dc8fedb7040cd6cc49f8362d070d Mon Sep 17 00:00:00 2001 From: Matteo Stelbrink <147656301+mstelbrink@users.noreply.github.com> Date: Mon, 17 Nov 2025 12:03:21 +0100 Subject: [PATCH 4/5] docs: make redirects permanent (#698) --- docs/public/_redirects | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/public/_redirects b/docs/public/_redirects index 698222bf..ad82c2aa 100644 --- a/docs/public/_redirects +++ b/docs/public/_redirects @@ -1,9 +1,9 @@ # temporary, we'll flip this around some day https://vitejs.dev/* https://vite.dev/:splat 301! -/guide/api-vite-runtime /guide/api-environment 302 -/guide/api-vite-runtime.html /guide/api-environment 302 -/guide/api-vite-environment /guide/api-environment 302 -/guide/api-vite-environment.html /guide/api-environment 302 -/guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 302 -/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 302 \ No newline at end of file +/guide/api-vite-runtime /guide/api-environment 301 +/guide/api-vite-runtime.html /guide/api-environment 301 +/guide/api-vite-environment /guide/api-environment 301 +/guide/api-vite-environment.html /guide/api-environment 301 +/guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 301 +/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 301 \ No newline at end of file From 30067ca704c95e216443a48803011cec4f41d649 Mon Sep 17 00:00:00 2001 From: Matteo Stelbrink <147656301+mstelbrink@users.noreply.github.com> Date: Thu, 20 Nov 2025 09:09:45 +0100 Subject: [PATCH 5/5] docs: add rolldown guide short link (#701) --- docs/public/_redirects | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/public/_redirects b/docs/public/_redirects index ad82c2aa..3d9c2d54 100644 --- a/docs/public/_redirects +++ b/docs/public/_redirects @@ -6,4 +6,6 @@ https://vitejs.dev/* https://vite.dev/:splat 301! /guide/api-vite-environment /guide/api-environment 301 /guide/api-vite-environment.html /guide/api-environment 301 /guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 301 -/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 301 \ No newline at end of file +/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 301 + +/rolldown /guide/rolldown 301 \ No newline at end of file