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
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:
json
// vercel.json
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}404 beim Neuladen
Fügen Sie eine vercel.json für das SPA-Routing hinzu:
json
{
"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:
json
{
"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.