第14回
Cloudflare Pagesにデプロイ:作ったWebサイトを公開する
npm run buildでReactアプリをビルドし、Cloudflare PagesにGitHubリポジトリを接続して自動デプロイを設定する。URLが生まれるまでの全手順。
制作・運営:React Guide 運営者
デプロイの全体像
① ローカルでビルド確認
↓
② GitHubにpush
↓
③ Cloudflare Pagesがビルドを検知
↓
④ 自動でデプロイ → URLが生まれる
↓
⑤ 以降はpushするたびに自動デプロイCloudflare Pagesは静的サイトのホスティングサービス。無料で独自ドメインもSSLも使える。
Step 1:ビルドしてみる
npm run buildvite v8.x.x building for production...
✓ 42 modules transformed.
dist/index.html 0.50 kB │ gzip: 0.33 kB
dist/assets/index-xxxxx.css 8.21 kB │ gzip: 2.15 kB
dist/assets/index-xxxxx.js 142.36 kB │ gzip: 45.89 kB
✓ built in 1.23s上のログは形式の例で、サイズ・時間の実測値ではない。dist/ フォルダが生成される。これが実際にサーバーに置くファイル。
ビルドが通るか確認する
npm run build && npm run previewnpm run preview はビルドした dist/ をローカルでサーブする。npm run dev と違い、本番ビルドの動作確認ができる。
エラーが出たら修正してから次に進む。
Step 2:GitHubにpushする
リポジトリを作る
GitHub(github.com)にログインし、「New repository」からリポジトリを作成する。名前は my-site など任意。
ローカルリポジトリを初期化してpush
# プロジェクトフォルダで実行
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ユーザー名/my-site.git
git push -u origin mainStep 3:Cloudflare Pagesに接続する
Cloudflareアカウントを作る
Cloudflare Pagesの開始ガイドを開き、利用するプラン・制限を確認してアカウントを用意する。画面の項目名は変更されることがある。
Pagesプロジェクトを作成する
- Cloudflareダッシュボードの左メニューから Workers & Pages を選択
- Create application → Pages → Connect to Git
- GitHubアカウントを連携し、先ほど作ったリポジトリを選択
ビルド設定を入力する
| 項目 | 値 |
|---|---|
| フレームワークプリセット | Vite |
| ビルドコマンド | npm run build |
| ビルド出力ディレクトリ | dist |
Save and Deploy を押すとビルドが始まる。
SPAの直接アクセスを確認する
Cloudflare Pagesは、トップ階層に 404.html がなければSPAとして扱い、見つからないパスをルートへフォールバックする。標準のVite SPAなら、まず /characters の直接アクセスと再読み込みを試す。必ず _redirects が必要というわけではない。
独自の404ページやPages Functionsを加えている場合はルーティング条件が異なる。静的生成でURLごとのHTMLを持つサイトにも、無条件の /* /index.html 200 を流用しない。
React Router側には <Route path="*" element={<p>ページが見つかりません</p>} /> を追加すれば、アプリ内の不明なURLを区別できる。ただしSPA側の表示だけではHTTPステータスは404に変わらない。
以降の開発フロー
# コードを修正
# ↓
git add .
git commit -m "feat: ○○を追加"
git push
# ↓ 自動でCloudflare Pagesがデプロイ(所要時間はビルドと待ち行列による)git push だけで本番に反映される。これがCI/CDの最もシンプルな形。
確認してみる
公開URLを直接開き、再読み込み、画像の取得、存在しないURLの表示を確認する。push成功と公開成功を別に確認する。
同じテーマの教材
自分のパソコンでReactを動かそう(つぎの一歩)
StackBlitzで作ったものを自分のパソコンでも動かす方法を小学生向けに解説。Node.jsの準備とViteでReactプロジェクトを作る手順、そして次に学ぶことを案内します。
Viteでプロジェクトを作る:Hello Reactを表示するまで
npm create vite@latestコマンドでReact+TypeScriptプロジェクトを作成し、生成されたファイル構造を理解して、ブラウザに最初の画面を表示するまでの全手順。
React Compiler 1.0:Viteへの導入とメモ化の確認方法
安定版になったReact Compilerを実際に試す。Vite 8環境への導入からDevToolsでの効果確認、既存のuseMemoとの付き合い方までを動かしながら解説する。