Przejdź do treści

Wdrożenie na Vercel ​

Vercel oferuje najprostszy sposób wdrażania statycznych stron.

Wdrożenie jednym kliknięciem ​

Deploy with Vercel

Wdrożenie ręczne ​

Krok 1: Zrób fork repozytorium ​

Zrób fork bentopdf/bentopdf na swoje konto GitHub.

Krok 2: Zaimportuj do Vercel ​

  1. Przejdź do vercel.com/new
  2. Wybierz swój fork repozytorium
  3. Skonfiguruj projekt:
UstawienieWartość
Framework PresetVite
Build Commandnpm run build
Output Directorydist
Install Commandnpm install

Krok 3: Zmienne środowiskowe (opcjonalnie) ​

Dodaj je, jeśli są potrzebne:

ZmiennaOpis
SIMPLE_MODEUstaw na true dla minimalnego interfejsu
VITE_BRAND_NAMEWłasna nazwa marki (zastępuje "BentoPDF")
VITE_BRAND_LOGOŚcieżka do logo względem public/ (np. images/my-logo.svg)
VITE_FOOTER_TEXTWłasny tekst stopki/praw autorskich
VITE_DEFAULT_LANGUAGEDomyślny język interfejsu (np. fr, de, es)

Krok 4: Wdróż ​

Kliknij "Deploy" i poczekaj na zakończenie budowania.

Własna domena ​

  1. Przejdź do ustawień projektu
  2. Otwórz "Domains"
  3. Dodaj swoją domenę
  4. Skonfiguruj DNS zgodnie z instrukcjami

Ograniczenia ​

Duże pliki

Funkcje serverless Vercel mają limit 50 MB. Ponieważ BentoPDF jest statyczną stroną, nie powinno to na Ciebie wpłynąć, ale moduły WASM są duże (łącznie ok. 100 MB). Upewnij się, że są serwowane z folderu /public.

Rozwiązywanie problemów ​

Przekroczenie czasu budowania ​

Jeśli budowanie przekracza limit czasu, spróbuj:

json
// vercel.json
{
  "buildCommand": "npm run build",
  "outputDirectory": "dist"
}

Błąd 404 po odświeżeniu ​

Dodaj plik vercel.json dla routingu SPA:

json
{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}

Konwersja Word/ODT/Excel na PDF nie działa ​

Konwersje LibreOffice WASM wymagają SharedArrayBuffer, a to wymaga tych nagłówków odpowiedzi na wszystkich stronach:

  • Cross-Origin-Embedder-Policy: require-corp
  • Cross-Origin-Opener-Policy: same-origin

Wstępnie skompresowane pliki .wasm.gz i .data.gz potrzebują też nagłówka Content-Encoding: gzip, aby przeglądarka je rozpakowała.

Dodaj je do swojego vercel.json:

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" }
      ]
    }
  ]
}

Aby to zweryfikować, otwórz konsolę DevTools i uruchom console.log(window.crossOriginIsolated). Powinno zwrócić true.

Podwójna licencja: AGPL-3.0 i licencja komercyjna.