Skip to content

Commit 06c8a75

Browse files
authored
Merge branch 'main' into patch-15
2 parents bf850d5 + d377519 commit 06c8a75

File tree

15 files changed

+232
-46
lines changed

15 files changed

+232
-46
lines changed

docs/.vitepress/config.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -270,16 +270,25 @@ export default defineConfig({
270270
sidebar: {
271271
'/guide/': [
272272
{
273-
text: 'Leitfaden',
273+
text: 'Einführung',
274274
items: [
275-
{
276-
text: 'Wieso Vite?',
277-
link: '/guide/why',
278-
},
279275
{
280276
text: 'Erste Schritte',
281277
link: '/guide/',
282278
},
279+
{
280+
text: 'Projekt-Philosophie',
281+
link: '/guide/philosophy',
282+
},
283+
{
284+
text: 'Wieso Vite?',
285+
link: '/guide/why',
286+
},
287+
],
288+
},
289+
{
290+
text: 'Guide',
291+
items: [
283292
{
284293
text: 'Funktionen',
285294
link: '/guide/features',
@@ -329,8 +338,8 @@ export default defineConfig({
329338
link: '/guide/performance',
330339
},
331340
{
332-
text: 'Projekt-Philosophie',
333-
link: '/guide/philosophy',
341+
text: 'Rolldown',
342+
link: '/guide/rolldown',
334343
},
335344
{
336345
text: 'Migration von v4',

docs/.vitepress/theme/composables/sponsor.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,6 @@ const viteSponsors: Pick<Sponsors, 'special' | 'gold'> = {
3939
url: 'https://nuxtlabs.com',
4040
img: '/nuxtlabs.svg',
4141
},
42-
// sponsors bluwy
43-
{
44-
name: 'Astro',
45-
url: 'https://astro.build',
46-
img: '/astro.svg',
47-
},
4842
],
4943
gold: [
5044
// now automated via sponsors.vuejs.org too

docs/_data/team.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export const core = [
4545
avatar: 'https://github.com/bluwy.png',
4646
name: 'Bjorn Lu',
4747
title: 'Open Source Developer',
48-
desc: 'Vite, Astro, and Svelte core team member.',
48+
desc: 'Building tools for fun.',
4949
links: [
5050
{ icon: 'github', link: 'https://github.com/bluwy' },
5151
{ icon: 'bluesky', link: 'https://bsky.app/profile/bluwy.me' },

docs/config/build-options.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,19 @@ export default defineConfig({
186186
- **Standard:** `false`
187187
- **Verwandt:** [Backend-Integration](/guide/backend-integration)
188188

189-
Wenn auf `true` gesetzt, wird der Build auch eine `.vite/manifest.json`-Datei generieren, die eine Zuordnung von nicht gehashten Asset-Dateinamen zu ihren gehashten Versionen enthält, die dann von einem Server-Framework verwendet werden kann, um die richtigen Asset-Links zu rendern. Wenn der Wert eine Zeichenkette ist, wird er als Name der Manifestdatei verwendet.
189+
Legt fest, ob eine Manifestdatei erstellt werden soll, die eine Zuordnung von nicht gehashten Dateinamen von Assets zu ihren gehashten Versionen enthält, die dann von einem Server-Framework verwendet werden kann, um die richtigen Asset-Links zu rendern.
190+
191+
Wenn der Wert eine Zeichenfolge ist, wird er als Manifestdateipfad relativ zu `build.outDir` verwendet. Bei der Einstellung `true` lautet der Pfad `.vite/manifest.json`.
190192

191193
## build.ssrManifest
192194

193195
- **Typ:** `boolean | string`
194196
- **Standard:** `false`
195197
- **Verwandt:** [Server-seitiges Rendern](/guide/ssr)
196198

197-
Wenn auf `true` gesetzt, wird der Build auch ein SSR-Manifest generieren, um Style-Links und Asset-Preload-Anweisungen in der Produktion zu bestimmen. Wenn der Wert eine Zeichenkette ist, wird er als Name der Manifestdatei verwendet.
199+
Legt fest, ob eine SSR-Manifestdatei zur Bestimmung von Stilverknüpfungen und Anweisungen zum Vorladen von Assets in der Produktion generiert werden soll.
200+
201+
Wenn der Wert eine Zeichenfolge ist, wird er als Manifestdateipfad relativ zu `build.outDir` verwendet. Bei der Einstellung `true` lautet der Pfad `.vite/ssr-manifest.json`.
198202

199203
## build.ssr
200204

docs/config/preview-options.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ Setzen Sie dies auf `true`, um den Vorgang zu beenden, wenn der Port bereits ver
6060
- **Typ:** `https.ServerOptions`
6161
- **Standardwert:** [`server.https`](./server-options#server-https)
6262

63-
Aktivieren Sie TLS + HTTP/2. Beachten Sie, dass dies auf TLS allein downgradet, wenn auch die [`server.proxy`-Option](./server-options#server-proxy) verwendet wird.
63+
Aktivieren Sie TLS + HTTP/2.
6464

65-
Der Wert kann auch ein [Optionsobjekt](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener) sein, das an `https.createServer()` übergeben wird.
65+
Siehe [`server.https`](./server-options#server-https) für mehr Details.
6666

6767
## preview.open
6868

docs/config/server-options.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ Legen Sie fest, dass der Server bei Verwendung des Ports bereits in Verwendung i
9090

9191
- **Typ:** `https.ServerOptions`
9292

93-
Aktivieren Sie TLS + HTTP/2. Beachten Sie, dass dies auf TLS herabgestuft wird, wenn die [`server.proxy`-Option](#server-proxy) ebenfalls verwendet wird.
93+
Aktivieren Sie TLS + HTTP/2. Der Wert ist ein [Option-Objekt](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener), dass an `https.createServer()` weitergegeben wird.
9494

95-
Der Wert kann auch ein [Optionsobjekt](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener) sein, das an `https.createServer()` übergeben wird.
95+
Beachten Sie, dass dies nur dann zu einem Downgrade auf TLS führt, wenn auch die Option [`server.proxy`](#server-proxy) verwendet wird.
9696

9797
Ein gültiges Zertifikat ist erforderlich. Für eine grundlegende Einrichtung können Sie [@vitejs/plugin-basic-ssl](https://github.com/vitejs/vite-plugin-basic-ssl) zu den Projekt-Plugins hinzufügen, das automatisch ein selbstsigniertes Zertifikat erstellt und zwischenspeichert. Wir empfehlen jedoch, eigene Zertifikate zu erstellen.
9898

docs/guide/api-environment-frameworks.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,48 @@ if (isRunnableDevEnvironment(server.environments.ssr)) {
3737
```
3838

3939
:::warning
40-
Der `Runner` wird eifrig ausgewertet, wenn das erste Mal auf ihn zugegriffen wird. Achten Sie darauf, dass Vite die Source-Map-Unterstützung aktiviert, wenn der `Runner` erstellt wird, indem Sie `process.setSourceMapsEnabled` aufrufen oder `Error.prepareStackTrace` überschreiben, wenn es nicht verfügbar ist.
40+
Der `Runner` wird faul ausgewertet, wenn das erste Mal auf ihn zugegriffen wird. Achten Sie darauf, dass Vite die Source-Map-Unterstützung aktiviert, wenn der `Runner` erstellt wird, indem Sie `process.setSourceMapsEnabled` aufrufen oder `Error.prepareStackTrace` überschreiben, wenn es nicht verfügbar ist.
41+
:::
42+
43+
Frameworks die mit ihrer Laufzeit via [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch) kommunizieren, können `FetchableDevEnvironment` nutzen, welches über die `handleRequest`-Methode einen standardisierten Weg bereitstellt, Anfragen zu bearbeiten:
44+
45+
```ts
46+
import {
47+
createServer,
48+
createFetchableDevEnvironment,
49+
isFetchableDevEnvironment,
50+
} from 'vite'
51+
52+
const server = await createServer({
53+
server: { middlewareMode: true },
54+
appType: 'custom',
55+
environments: {
56+
custom: {
57+
dev: {
58+
createEnvironment(name, config) {
59+
return createFetchableDevEnvironment(name, config, {
60+
handleRequest(request: Request): Promise<Response> | Response {
61+
// bearbeite Anfragen und gib eine Antwort zurück
62+
},
63+
})
64+
},
65+
},
66+
},
67+
},
68+
})
69+
70+
// Jeder Konsument der Umgebungs API kann nun `dispatchFetch` aufrufen
71+
if (isFetchableDevEnvironment(server.environments.custom)) {
72+
const response: Response = await server.environments.custom.dispatchFetch(
73+
new Request('/request-to-handle'),
74+
)
75+
}
76+
```
77+
78+
:::warning
79+
Vite validiert den Input und den Output der `dispatchFetch`-Methode: Die Anfrage muss eine Instanz der globalen Klasse `Request` sein und die Antwort eine Instanz der globalen Klasse `Response`. Vite wird einen `TypeError` hervorrufen, wenn dies nicht der Fall ist.
80+
81+
Beachten Sie, dass auch wenn `FetchableDevEnvironment` als Klasse implementiert wurde, wird sie vom Vite-Team als Implementationsdetail betrachtet und könnte jederzeit geändert werden.
4182
:::
4283

4384
## Standardwert `RunnableDevEnvironment`

docs/guide/api-hmr.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,18 @@ Die manuelle HMR API ist hauptsächlich für Framework- und Tool-Autoren gedacht
88

99
Vite stellt seine manuelle HMR API über das spezielle `import.meta.hot` Objekt zur Verfügung:
1010

11-
```ts
11+
```ts twoslash
12+
import type { ModuleNamespace } from 'vite/types/hot.d.ts'
13+
import type {
14+
CustomEventName,
15+
InferCustomEventPayload,
16+
} from 'vite/types/customEvent.d.ts'
17+
18+
// ---cut---
1219
interface ImportMeta {
1320
readonly hot?: ViteHotContext
1421
}
1522

16-
type ModuleNamespace = Record<string, any> & {
17-
[Symbol.toStringTag]: 'Module'
18-
}
19-
2023
interface ViteHotContext {
2124
readonly data: any
2225

@@ -25,23 +28,25 @@ interface ViteHotContext {
2528
accept(dep: string, cb: (mod: ModuleNamespace | undefined) => void): void
2629
accept(
2730
deps: readonly string[],
28-
cb: (mods: Array<ModuleNamespace | undefined>) => void
31+
cb: (mods: Array<ModuleNamespace | undefined>) => void,
2932
): void
3033

3134
dispose(cb: (data: any) => void): void
3235
prune(cb: (data: any) => void): void
3336
invalidate(message?: string): void
3437

35-
// `InferCustomEventPayload` bietet Typen für integrierte Vite-Ereignisse
36-
on<T extends string>(
38+
on<T extends CustomEventName>(
39+
event: T,
40+
cb: (payload: InferCustomEventPayload<T>) => void,
41+
): void
42+
off<T extends CustomEventName>(
3743
event: T,
38-
cb: (payload: InferCustomEventPayload<T>) => void
44+
cb: (payload: InferCustomEventPayload<T>) => void,
3945
): void
40-
off<T extends string>(
46+
send<T extends CustomEventName>(
4147
event: T,
42-
cb: (payload: InferCustomEventPayload<T>) => void
48+
data?: InferCustomEventPayload<T>,
4349
): void
44-
send<T extends string>(event: T, data?: InferCustomEventPayload<T>): void
4550
}
4651
```
4752

docs/guide/env-and-mode.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ Um dies zu erreichen, können Sie eine `vite-env.d.ts`-Datei im `src`-Verzeichni
108108
```typescript [vite-env.d.ts]
109109
/// <reference types="vite/client" />
110110

111+
interface ViteTypeOptions {
112+
// Durch das Hinzufügen der Zeile, können Sie den Typ von ImportMetaEnv strikt machen,
113+
// um unbekannte Typen zu verbieten.
114+
// strictImportMetaEnv: unknown
115+
}
116+
111117
interface ImportMetaEnv {
112118
readonly VITE_APP_TITLE: string
113119
// mehr Umgebungsvariablen...

docs/guide/features.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ Beachten Sie, dass wenn [`compilerOptions.types`](https://www.typescriptlang.org
141141
`vite/client` stellt die folgenden Arten von Shims bereit:
142142

143143
- Asset-Importe (z.B. Importieren einer `.svg`-Datei)
144-
- Typen für die in Vite eingefügten [konstanten Variablen](./env-and-mode#env-variables) auf `import.meta.env`
144+
- Typen für die in Vite eingefügten [Konstanten](./env-and-mode#env-variables) auf `import.meta.env`
145145
- Typen für die [HMR-API](./api-hmr) unter `import.meta.hot`
146146

147147
::: tip
@@ -208,22 +208,26 @@ Von HTML-Elementen wie `<script type="module" src>` und `<link href>` referenzie
208208

209209
Um die HTML-Verarbeitung für bestimmte Elemente zu deaktivieren, können Sie das Attribut `vite-ignore` zum Element hinzufügen. Dies kann nützlich sein, wenn Sie auf externe Assets oder CDN verweisen.
210210

211-
## Vue
211+
## Frameworks
212212

213-
Vite bietet First-Class Vue Support:
213+
Alle modernen Frameworks unterstützen die Integration mit Vite. Die meisten Framework-Plugins werden von den jeweiligen Framework-Teams gepflegt, mit Ausnahme der offiziellen Vue- und React-Vite-Plugins, die von der Vite-Organsitation gepflegt werden:
214214

215-
- Vue 3 SFC Unterstützung über [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue)
216-
- Ansicht 3 JSX Unterstützung via [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx)
215+
- Vue Unterstützung via [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue)
216+
- Vue JSX Unterstützung via [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx)
217+
- React Unterstützung via [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react)
218+
- React mit SWC Unterstützung via [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc)
219+
220+
Siehe [Plugins Guide](https://vite.dev/plugins) für mehr Informationen.
217221

218222
Siehe [Plugins Guide](/plugins/) für mehr Informationen.
219223

220224
## JSX
221225

222226
.jsx"- und "tsx"-Dateien werden ebenfalls von Haus aus unterstützt. JSX Transpilierung wird auch über [esbuild](https://esbuild.github.io) gehandhabt.
223227

224-
Vue-Benutzer sollten das offizielle [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) Plugin verwenden, das Vue 3-spezifische Funktionen wie HMR, globale Komponentenauflösung, Direktiven und Slots bietet.
228+
Das Framework Ihrer Wahl konfiguriert JSX standardmäßig (z. B. Vue-Benutzer sollten das offizielle [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) Plugin verwenden, das Vue 3-spezifische Funktionen wie HMR, globale Komponentenauflösung, Direktiven und Slots bietet).
225229

226-
Wenn JSX ohne React oder Vue verwendet wird, können benutzerdefinierte `jsxFactory` und `jsxFragment` mit der [`esbuild` Option](/config/shared-options.md#esbuild) konfiguriert werden. Zum Beispiel für Preact:
230+
Wenn JSX mit einem eigenen Framework verwendet wird, können benutzerdefinierte `jsxFactory` und `jsxFragment` mit der [`esbuild` Option](/config/shared-options.md#esbuild) konfiguriert werden. Zum Beispiel das Preact-Plugin würde Folgendes nutzen:
227231

228232
```js twoslash [vite.config.js]
229233
import { defineConfig } from 'vite'
@@ -343,10 +347,6 @@ Um CSS-Module zu konfigurieren, verwenden Sie [`css.lightningcss.cssModules`](ht
343347

344348
Standardmäßig verwendet Vite esbuild zum Minifizieren von CSS. Lightning CSS kann auch als CSS-Minifizierer mit [`build.cssMinify: 'lightningcss'`](../config/build-options.md#build-cssminify) verwendet werden.
345349

346-
:::tip HINWEIS
347-
[CSS-Präprozessoren](#css-pre-processors) werden bei der Verwendung von Lightning CSS nicht unterstützt.
348-
:::
349-
350350
## Statische Assets
351351

352352
Beim Importieren eines statischen Assets wird die aufgelöste öffentliche URL zurückgegeben, wenn es bereitgestellt wird:

0 commit comments

Comments
 (0)