Перайсці да зместу

Разгортванне на Vercel ​

Vercel прапануе самы просты спосаб разгортвання статычных сайтаў.

Разгортванне адным клікам ​

Разгарнуць з Vercel

Ручное разгортванне ​

Крок 1: Зрабіце форк рэпазіторыя ​

Зрабіце форк bentopdf/bentopdf у свой уліковы запіс GitHub.

Крок 2: Імпарт у Vercel ​

  1. Перайдзіце на vercel.com/new
  2. Выберыце свой форк рэпазіторыя
  3. Наладзьце праект:
НаладаЗначэнне
Framework PresetVite
Build Commandnpm run build
Output Directorydist
Install Commandnpm install

Крок 3: Зменныя асяроддзя (неабавязкова) ​

Дадайце пры неабходнасці:

ЗменнаяАпісанне
SIMPLE_MODEЗадайце true для мінімальнага інтэрфейсу
VITE_BRAND_NAMEУласная назва брэнда (замяняе "BentoPDF")
VITE_BRAND_LOGOШлях да лагатыпа адносна public/ (напрыклад, images/my-logo.svg)
VITE_FOOTER_TEXTУласны тэкст ніжняга калантытула/аўтарскага права
VITE_DEFAULT_LANGUAGEМова інтэрфейсу па змаўчанні (напрыклад, fr, de, es)

Крок 4: Разгортванне ​

Націсніце "Deploy" і пачакайце завяршэння зборкі.

Уласны дамен ​

  1. Адкрыйце налады праекта
  2. Перайдзіце ў "Domains"
  3. Дадайце свой дамен
  4. Наладзьце DNS паводле інструкцый

Абмежаванні ​

Вялікія файлы

Бессерверныя функцыі Vercel маюць абмежаванне 50MB. Паколькі BentoPDF з'яўляецца статычным сайтам, гэта не павінна вас закрануць, але модулі WASM вялікія (каля 100MB агулам). Пераканайцеся, што яны раздаюцца з папкі /public.

Выпраўленне непаладак ​

Перавышэнне часу зборкі ​

Калі зборка перавышае час чакання, паспрабуйце:

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

404 пры абнаўленні старонкі ​

Дадайце vercel.json для маршрутызацыі SPA:

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

Word/ODT/Excel у PDF не працуе ​

Пераўтварэнні LibreOffice WASM патрабуюць SharedArrayBuffer, для чаго на ўсіх старонках патрэбныя такія загалоўкі адказу:

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

Папярэдне сціснутым файлам .wasm.gz і .data.gz таксама патрэбны Content-Encoding: gzip, каб браўзер іх распакоўваў.

Дадайце гэта ў свой 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" }
      ]
    }
  ]
}

Каб праверыць, адкрыйце кансоль DevTools і выканайце console.log(window.crossOriginIsolated): павінна вярнуцца true.

Двайная ліцэнзія: AGPL-3.0 і камерцыйная ліцэнзія.