Skip to content

Commit 7f5e10b

Browse files
authored
docs: add rolldown chapter (#686) (#1031)
Co-authored-by: Rush Ali <[email protected]> closes #686 #1031
1 parent 52fe4f5 commit 7f5e10b

File tree

3 files changed

+99
-0
lines changed

3 files changed

+99
-0
lines changed

docs/.vitepress/config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,10 @@ export default defineConfig({
337337
text: 'Leistung',
338338
link: '/guide/performance',
339339
},
340+
{
341+
text: 'Rolldown',
342+
link: '/guide/rolldown',
343+
},
340344
{
341345
text: 'Migration von v4',
342346
link: '/guide/migration',

docs/guide/performance.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,5 +122,7 @@ Beispiele für die Verwendung von nativen Werkzeugen:
122122

123123
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.
124124

125+
Nutzen Sie [Rolldown anstelle von Rollup und esbuild](./rolldown) für schnellere Builds und eine angeglichenere Erfahrung zwischen dev und build.
126+
125127
- Probieren Sie die experimentelle Unterstützung für [LightningCSS](https://github.com/vitejs/vite/discussions/13835) aus.
126128
- Verwenden Sie [`@vitejs/plugin-react-swc`](https://github.com/vitejs/vite-plugin-react-swc) anstelle von `@vitejs/plugin-react`.

docs/guide/rolldown.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Rolldown Integration
2+
3+
Vite plant die Integration von [Rolldown](https://rolldown.rs), einem Rust-basierten JavaScript-Bundler, um die Build-Leistung und -Fähigkeiten zu verbessern.
4+
5+
## Was ist Rolldown?
6+
7+
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.
8+
9+
Rolldown konzentriert sich auf drei Grundprinzipien:
10+
11+
- **Geschwindigkeit**: Mit Rust für maximale Leistung entwickelt
12+
- **Kompatibilität**: Funktioniert mit bestehenden Rollup-Plugins
13+
- **Entwicklererfahrung**: Vertraute API für Rollup-Benutzer
14+
15+
## Warum Vite zu Rolldown migriert
16+
17+
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.
18+
19+
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.
20+
21+
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).
22+
23+
## Vorteile des Ausprobierens von `rolldown-vite`
24+
- Profitieren Sie von deutlich schnelleren Build-Zeiten, insbesondere bei größeren Projekten.
25+
- Geben Sie wertvolles Feedback, um die Zukunft der Bundling-Erfahrung von Vite mitzugestalten.
26+
- Bereiten Sie Ihre Projekte auf die spätere offizielle Rolldown-Integration vor.
27+
28+
## Wie man Rolldown ausprobiert
29+
30+
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:
31+
32+
:::code-group
33+
34+
```json [npm]
35+
{
36+
"overrides": {
37+
"vite": "npm:rolldown-vite@latest"
38+
}
39+
}
40+
```
41+
42+
```json [Yarn]
43+
{
44+
"resolutions": {
45+
"vite": "npm:rolldown-vite@latest"
46+
}
47+
}
48+
```
49+
50+
```json [pnpm]
51+
{
52+
"pnpm": {
53+
"overrides": {
54+
"vite": "npm:rolldown-vite@latest"
55+
}
56+
}
57+
}
58+
```
59+
60+
```json [Bun]
61+
{
62+
"overrides": {
63+
"vite": "npm:rolldown-vite@latest"
64+
}
65+
}
66+
67+
```
68+
69+
:::
70+
71+
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.
72+
73+
## Bekannte Einschränkungen
74+
75+
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.
76+
77+
## Probleme melden
78+
79+
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**.
80+
81+
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:
82+
83+
- Eine minimale Reproduktion des Problems
84+
- Details zu Ihrer Umgebung (Betriebssystem, Node-Version, Paketmanager)
85+
- Alle relevanten Fehlermeldungen oder Protokolle
86+
87+
Für Echtzeit-Diskussionen und Fehlerbehebung treten Sie bitte dem [Rolldown Discord](https://chat.rolldown.rs/) bei.
88+
89+
## Zukünftige Pläne
90+
91+
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.
92+
93+
Wir ermutigen Sie, `rolldown-vite` auszuprobieren und durch Feedback und Fehlerberichte zur Entwicklung beizutragen.

0 commit comments

Comments
 (0)