4.8 KiB
Разгортванне на Vercel
Vercel прапануе самы просты спосаб разгортвання статычных сайтаў.
Разгортванне адным клікам
Ручное разгортванне
Крок 1: Зрабіце форк рэпазіторыя
Зрабіце форк bentopdf/bentopdf у свой уліковы запіс GitHub.
Крок 2: Імпарт у Vercel
- Перайдзіце на vercel.com/new
- Выберыце свой форк рэпазіторыя
- Наладзьце праект:
| Налада | Значэнне |
|---|---|
| Framework Preset | Vite |
| Build Command | npm run build |
| Output Directory | dist |
| Install Command | npm 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" і пачакайце завяршэння зборкі.
Уласны дамен
- Адкрыйце налады праекта
- Перайдзіце ў "Domains"
- Дадайце свой дамен
- Наладзьце DNS паводле інструкцый
Абмежаванні
::: warning Вялікія файлы
Бессерверныя функцыі Vercel маюць абмежаванне 50MB. Паколькі BentoPDF з'яўляецца статычным сайтам, гэта не павінна вас закрануць, але модулі WASM вялікія (каля 100MB агулам). Пераканайцеся, што яны раздаюцца з папкі /public.
:::
Выпраўленне непаладак
Перавышэнне часу зборкі
Калі зборка перавышае час чакання, паспрабуйце:
// vercel.json
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}
404 пры абнаўленні старонкі
Дадайце vercel.json для маршрутызацыі SPA:
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
Word/ODT/Excel у PDF не працуе
Пераўтварэнні LibreOffice WASM патрабуюць SharedArrayBuffer, для чаго на ўсіх старонках патрэбныя такія загалоўкі адказу:
Cross-Origin-Embedder-Policy: require-corpCross-Origin-Opener-Policy: same-origin
Папярэдне сціснутым файлам .wasm.gz і .data.gz таксама патрэбны Content-Encoding: gzip, каб браўзер іх распакоўваў.
Дадайце гэта ў свой vercel.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.