3.9 KiB
Auf Vercel bereitstellen
Vercel bietet die einfachste Bereitstellung für statische Websites.
Bereitstellung mit einem Klick
Manuelle Bereitstellung
Schritt 1: Repository forken
Forken Sie bentopdf/bentopdf in Ihr GitHub-Konto.
Schritt 2: In Vercel importieren
- Gehen Sie zu vercel.com/new
- Wählen Sie Ihr geforktes Repository aus
- Konfigurieren Sie das Projekt:
| Einstellung | Wert |
|---|---|
| Framework Preset | Vite |
| Build Command | npm run build |
| Output Directory | dist |
| Install Command | npm install |
Schritt 3: Umgebungsvariablen (optional)
Fügen Sie diese bei Bedarf hinzu:
| Variable | Beschreibung |
|---|---|
SIMPLE_MODE |
Auf true setzen für eine minimale Oberfläche |
VITE_BRAND_NAME |
Eigener Markenname (ersetzt "BentoPDF") |
VITE_BRAND_LOGO |
Logopfad relativ zu public/ (z. B. images/my-logo.svg) |
VITE_FOOTER_TEXT |
Eigener Footer-/Copyright-Text |
VITE_DEFAULT_LANGUAGE |
Standardsprache der Oberfläche (z. B. fr, de, es) |
Schritt 4: Bereitstellen
Klicken Sie auf "Deploy" und warten Sie, bis der Build abgeschlossen ist.
Eigene Domain
- Öffnen Sie die Einstellungen Ihres Projekts
- Navigieren Sie zu "Domains"
- Fügen Sie Ihre eigene Domain hinzu
- Konfigurieren Sie das DNS wie angegeben
Einschränkungen
::: warning Große Dateien
Die Serverless Functions von Vercel haben ein Limit von 50 MB. Da BentoPDF eine statische Website ist, sollte Sie das nicht betreffen, aber die WASM-Module sind groß (insgesamt ca. 100 MB). Stellen Sie sicher, dass sie aus dem Ordner /public ausgeliefert werden.
:::
Fehlerbehebung
Build-Timeout
Wenn Builds in ein Timeout laufen, versuchen Sie Folgendes:
// vercel.json
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}
404 beim Neuladen
Fügen Sie eine vercel.json für das SPA-Routing hinzu:
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
Word/ODT/Excel zu PDF funktioniert nicht
Die LibreOffice-WASM-Konvertierungen erfordern SharedArrayBuffer, wofür diese Response-Header auf allen Seiten nötig sind:
Cross-Origin-Embedder-Policy: require-corpCross-Origin-Opener-Policy: same-origin
Die vorkomprimierten Dateien .wasm.gz und .data.gz benötigen außerdem Content-Encoding: gzip, damit der Browser sie dekomprimiert.
Fügen Sie diese zu Ihrer vercel.json hinzu:
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }],
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" },
{ "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
{ "key": "Cross-Origin-Resource-Policy", "value": "cross-origin" }
]
},
{
"source": "/libreoffice-wasm/soffice.wasm.gz",
"headers": [
{ "key": "Content-Type", "value": "application/wasm" },
{ "key": "Content-Encoding", "value": "gzip" }
]
},
{
"source": "/libreoffice-wasm/soffice.data.gz",
"headers": [
{ "key": "Content-Type", "value": "application/octet-stream" },
{ "key": "Content-Encoding", "value": "gzip" }
]
}
]
}
Zur Überprüfung öffnen Sie die DevTools-Konsole und führen Sie console.log(window.crossOriginIsolated) aus. Es sollte true zurückgeben.