Cloudflare Pages に載せる(Wrangler)
DOCUSAURUS_URL / DOCUSAURUS_BASE_URL は Wrangler の設定ではなく、npm run build のときの環境変数 です。
静的 HTML のパスがビルド時に焼き込まれるので、deploy 時に env を付けても効きません。
① DOCUSAURUS_* を付けて build → website/build/
② wrangler pages deploy build → Cloudflare Pages
いちばん簡単(手元)
cd website
# 1) Pages ルート用にビルド(BASE_URL=/ 固定)
export DOCUSAURUS_URL=https://YOUR_PROJECT.pages.dev # 本番 URL
# export DOCUSAURUS_BASE_URL=/ # build:pages の既定
npm run build:pages
# 2) ログイン(初回だけ)
npx wrangler login
# または: export CLOUDFLARE_API_TOKEN=...
# 3) デプロイ
export CLOUDFLARE_PAGES_PROJECT=YOUR_PROJECT # 省略時 mercari-docs
npm run deploy:pages
1 行で:
DOCUSAURUS_URL=https://YOUR_PROJECT.pages.dev npm run build:pages
CLOUDFLARE_PAGES_PROJECT=YOUR_PROJECT npm run deploy:pages
env の意味
| 変数 | いつ | 用途 |
|---|---|---|
DOCUSAURUS_URL | build | canonical URL(OGP・sitemap など) |
DOCUSAURUS_BASE_URL | build | パス prefix。Pages ルートなら / |
CLOUDFLARE_PAGES_PROJECT | deploy | Pages プロジェクト名 |
CLOUDFLARE_API_TOKEN | deploy | CI / 非対話デプロイ |
CLOUDFLARE_ACCOUNT_ID | deploy | アカウント固定(任意) |
wrangler.toml の pages_build_output_dir = "build" は出力ディレクトリの指定だけです。DOCUSAURUS_* は書きません。
Git 連携(Dashboard)
Cloudflare Dashboard → Pages → プロジェクト → Settings → Builds:
| 項目 | 値 |
|---|---|
| Root directory | website(モノレポのとき) |
| Build command | npm ci && npm run build:pages |
| Build output directory | build |
Environment variables(Production / Preview):
DOCUSAURUS_URL=https://YOUR_PROJECT.pages.dev
DOCUSAURUS_BASE_URL=/
プレビュー用に別 URL がある場合は Preview 環境だけ DOCUSAURUS_URL を差し替え。
GitHub Project Pages との違い
| Cloudflare Pages | GitHub Project Pages | |
|---|---|---|
DOCUSAURUS_BASE_URL | 通常 /(ライブラリ既定) | /repo名/ → npm run build:gh-pages |
| デプロイ | wrangler pages deploy / npm run deploy:pages | gh-pages / Actions |
症状: 画面に
Current configured baseUrl = /mercari_search/ / We suggest trying baseUrl = /
→ 古いビルド(baseUrl がサブパス)をルートに載せている。直す:
cd website
rm -rf build .docusaurus
DOCUSAURUS_URL=https://YOUR_PROJECT.pages.dev npm run build:pages
# 確認: HTML に /mercari_search/ が無いこと
grep -c mercari_search build/index.html || echo 'clean'
npm run deploy:pages
npm run build も既定は baseUrl=/ です。GitHub サブパスだけ build:gh-pages を使ってください。
トラブルシュート
- CSS が当たらない → ビルド時の
DOCUSAURUS_BASE_URLを確認(Pages なら/) - deploy したのに古い → 別プロジェクト名になっていないか
CLOUDFLARE_PAGES_PROJECTを確認 - Authentication error →
npx wrangler loginまたはCLOUDFLARE_API_TOKEN