Blazor ↗ は、ブラウザー上で JavaScript ではなく C# コードを使える SPA フレームワークです。このガイドでは、Blazor でサイトを構築し、Cloudflare Pages でデプロイします。
Blazor は C# を使います。Blazor プロジェクトを作成するには、最新の .NET SDK ↗ が必要です。システムに SDK がインストールされていない場合は、インストーラーをダウンロードして実行してください。
Blazor のホスティングモデルは 2 種類あります。エンドユーザーに Blazor アプリケーションを配信するためにサーバーが必要な Blazor Server ↗ と、ブラウザー上で動作する Blazor WebAssembly ↗ です。Blazor Server は Cloudflare のエッジネットワークモデルと互換がないため、このガイドでは Blazor WebAssembly だけを使います。
次のコマンドを実行し、新しい Blazor WebAssembly(WASM)アプリケーションを作成します。
dotnet new blazorwasm -o my-blazor-projectデプロイするには、Cloudflare Pages が Blazor プロジェクトをビルドする方法が必要です。プロジェクトのルートディレクトリに build.sh ファイルを作成します。次の内容を書き込みます(最新の .NET SDK を使っていない場合は、.dotnet-install.sh の行を適切に更新してください)。
#!/bin/sh
curl -sSL https://dot.net/v1/dotnet-install.sh > dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh -c 8.0 -InstallDir ./dotnet
./dotnet/dotnet --version
./dotnet/dotnet publish -c Release -o outputbuild.sh ファイルは、ビルドコマンドが動くように実行可能である必要があります。chmod +x build.sh を実行して実行可能にします。
すべてのフレームワークガイドは、Git ↗ の基本的な理解があることを前提としています。Git を初めて使う場合は、この Git ハンドブックの要約 ↗ で、ローカルマシンへの Git のセットアップ方法を確認してください。
SSH でクローンする場合は、GitHub に対して push または pull する各コンピューターで SSH キーを生成 ↗ する必要があります。
詳細は GitHub のドキュメント ↗ と Git のドキュメント ↗ を参照してください。
.gitignore ファイルを作成すると、必要なものだけが GitHub リポジトリにプッシュされます。次のコマンドを実行して .gitignore ファイルを作成します。
dotnet new gitignorerepo.new ↗ にアクセスして、新しい GitHub リポジトリを作成します。作成後、新しく作ったプロジェクトディレクトリに移動します。次のコマンドをターミナルで実行して、ローカルアプリケーションを GitHub へプッシュします。
git init
git remote add origin https://github.com/<your-gh-username>/<repository-name>
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin mainサイトを Pages にデプロイするには、次の手順を実行します。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Create application を選びます。
-
Pages タブを選びます。
-
Import an existing Git repository を選びます。
-
作成した新しい GitHub リポジトリを選び、Begin setup を選びます。
-
Set up builds and deployments セクションで、次の情報を入力します。
| 設定項目 | 値 |
|---|---|
| Production branch | main |
| Build command | ./build.sh |
| Build directory | output/wwwroot |
設定が終わったら、最初のデプロイを開始できます。Cloudflare Pages が dotnet、プロジェクトの依存関係をインストールし、サイトをビルドしてからデプロイする様子が表示されます。
サイトをデプロイすると、プロジェクト専用の *.pages.dev サブドメインが割り当てられます。
Blazor サイトに新しいコードをコミットするたびに、Cloudflare Pages はプロジェクトを自動で再ビルドしてデプロイします。新しいプルリクエストでは プレビューデプロイ も使えるため、本番にデプロイする前に変更の見た目を確認できます。
Error: Asset "/opt/buildhome/repo/output/wwwroot/_framework/dotnet.wasm" is over the 25MiB limit というエラーメッセージが出た場合は、次のいずれかの方法で解決します。
- 次の ガイド ↗ に沿ってアセットのサイズを小さくします。
または
- 出力から
*.wasmファイルを削除し(rm output/wwwroot/_framework/*.wasm)、Blazor アプリケーションを Brotli 圧縮ファイルを読み込む ↗ ように変更します。
このガイドを完了すると、Blazor サイトを Cloudflare Pages にデプロイできています。ほかのフレームワークを始めるには、Framework ガイドの一覧 を参照してください。