Cloudflare は、新しい Workers および Pages プロジェクトを作成する CLI コマンド npm create cloudflare を提供しています。create-cloudflare パッケージ ↗ が裏側で動作します。
ターミナルを開き、次のコマンドを実行します。
npm create cloudflare@latest -- --platform=pagesyarn create cloudflare --platform=pagespnpm create cloudflare@latest --platform=pagesこのコマンドを実行すると、create-cloudflare ↗ パッケージのインストールを求められ、作成するアプリケーションの種類について質問されます。
「Framework Starter」を選ぶと、使うフレームワークを尋ねられます。現在サポートしているフレームワークは次のとおりです。
- Angular
- Astro
- Docusaurus
- Gatsby
- Hono
- Next.js static exports
- Nuxt
- Qwik
- React
- Redwood
- Remix
- SolidStart
- SvelteKit
- Vue
フレームワークを使う場合、npm create cloudflare はフレームワーク自身のプロジェクト生成コマンドを直接使います。追加の質問が表示されることがあります。これにより、作成するプロジェクトはフレームワークの最新バージョンに追従し、フレームワークのツールで直接作成する場合と同じ選択肢を npm create cloudflare でも選べます。
プロジェクトの設定が終わると、Cloudflare へデプロイするかどうかを尋ねられます。これは任意です。
デプロイを選ぶと、Cloudflare アカウントへのサインインを求められ(まだの場合)、プロジェクトがデプロイされます。
npm create cloudflare で新しいプロジェクトを作成し、GitHub または GitLab アカウント上の Git リポジトリに接続するには、次の手順を実行します。
npm create cloudflare@latestを実行し、希望のオプションを選びます。- 「Do you want to deploy your application?」のプロンプトで
noを選びます。ここが重要です。yesを選んでターミナルからアプリケーションをデプロイ(Direct Upload)すると、あとからこの Pages プロジェクトを Git リポジトリに接続できません。新しい Cloudflare Pages プロジェクトを作成する必要があります。 npm create cloudflare@latestが作成したアプリケーションを使って、新しい Git リポジトリを作成します。- Git 連携ガイド の手順に従います。
C3 は、対話型プロンプトで必要な入力を集めます。コマンドライン引数で選択内容を指定することもでき、その場合はプロンプトをスキップします。CI などの非対話環境で C3 を使う場合は、必要な引数をすべてコマンドラインで指定する必要があります。
C3 の呼び出し形式と、使える CLI 引数は次のとおりです。
npm create cloudflare@latest -- --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]yarn create cloudflare --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]pnpm create cloudflare@latest --platform=pages [<DIRECTORY>] [OPTIONS] [-- <NESTED ARGS...>]-
DIRECTORYstring任意- アプリケーションを作成するディレクトリです。アプリケーション名はディレクトリ名から取得します。
-
NESTED ARGS..string[]任意- C3 が呼び出すサードパーティ CLI に渡す CLI 引数です(フルスタックアプリケーションの場合)。
-
--categorystring任意-
作成するテンプレートの種類です。
-
このオプションの値は次のとおりです。
hello-world: Hello World の例web-framework: Framework Starterdemo: Application Starterremote-template: GitHub リポジトリのテンプレート
-
-
--typestring任意-
作成するアプリケーションの種類です。
-
このオプションの値は次のとおりです。
hello-world: 基本的な "Hello World" Cloudflare Worker です。hello-world-durable-object: Durable Object と、それと通信する Worker です。common: ルーティング/プロキシの一般的な例を実装した Cloudflare Worker です。scheduled: スケジュール実行される Cloudflare Worker です(Cron Triggers で起動します)。queues: Queues のコンシューマーとプロデューサーの両方である Cloudflare Worker です。openapi: OpenAPI REST エンドポイントを実装した Worker です。pre-existing: Cloudflare ダッシュボードで初期化した Worker を取得します。
-
-
--frameworkstring任意-
Web アプリケーションを作成するときに使うフレームワークです(このオプションを使うと
--typeは無視されます)。 -
このオプションの値は次のとおりです。
angularastrodocusaurusgatsbyhononextnuxtqwikreactredwoodremixsolidsveltevue
-
-
--templatestring任意-
Git リポジトリ上の外部テンプレートから新しいプロジェクトを作成します。
-
このオプションの値は、次のいずれかの形式で指定できます。
user/repogit@github.com:user/repohttps://github.com/user/repouser/repo/some-template(サブディレクトリ)user/repo#canary(ブランチ)user/repo#1234abcd(コミットハッシュ)bitbucket:user/repo(BitBucket)gitlab:user/repo(GitLab)
詳細は
degitの ドキュメント ↗ を参照してください。テンプレートには、少なくとも次の内容が必要です。
package.json- Wrangler 設定ファイル
- Wrangler 設定ファイルから参照される Worker スクリプトを含む
src/
その他の例は、このリポジトリの templates フォルダー ↗ を参照してください。
-
-
--deployboolean(デフォルト: true) 任意- 作成後にアプリケーションをデプロイします。
-
--langstring(デフォルト: ts) 任意-
テンプレートのプログラミング言語です。
-
このオプションの値は次のとおりです。
tsjspython
-
-
--tsboolean(デフォルト: true) 任意- アプリケーションで TypeScript を使います。非推奨です。代わりに
--lang=tsを使ってください。
- アプリケーションで TypeScript を使います。非推奨です。代わりに
-
--gitboolean(デフォルト: true) 任意- アプリケーション用のローカル Git リポジトリを初期化します。
-
--openboolean(デフォルト: true) 任意- デプロイしたアプリケーションをブラウザーで開きます(デプロイしていない場合、このオプションは無視されます)。
-
--existing-scriptstring任意-
ローカルにクローンする既存の Cloudflare Workers スクリプト名です。このオプションを使うと、
--typeはpre-existingに強制されます。 -
--existing-scriptを指定すると、deployは無視されます。
-
-
-y,--accept-defaultsboolean任意- すべてのデフォルトの C3 オプションを使います。個別に指定して上書きすることもできます。
-
--auto-updateboolean(デフォルト: true) 任意- 常に最新バージョンの C3 を使います。
-
-v,--versionboolean任意- バージョン番号を表示します。
-
-h,--helpboolean任意- ヘルプメッセージを表示します。
Cloudflare は、create-cloudflare の改善のため、匿名の利用データを収集します。詳細は データポリシー ↗ を参照してください。
情報を共有したくない場合は、オプトアウトできます。
npm create cloudflare@latest -- telemetry disableyarn create cloudflare telemetry disablepnpm create cloudflare@latest telemetry disable代わりに、環境変数を設定することもできます。
export CREATE_CLOUDFLARE_TELEMETRY_DISABLED=1テレメトリ収集の状態は、いつでも確認できます。
npm create cloudflare@latest -- telemetry statusyarn create cloudflare telemetry statuspnpm create cloudflare@latest telemetry statusテレメトリ収集は、いつでも再有効化できます。
npm create cloudflare@latest -- telemetry enableyarn create cloudflare telemetry enablepnpm create cloudflare@latest telemetry enable