このガイドでは、Pages Function の作成とデプロイを説明します。
ローカルマシン、または Cloudflare ダッシュボードにデプロイ済みの Pages プロジェクトが必要です。Pages プロジェクトを作成するには、はじめに を参照してください。
Pages Function の生成を始めるには、/functions ディレクトリを作成します。/functions ディレクトリは Pages プロジェクトのルートに置きます(/dist などの静的ルート内ではありません)。
/functions ディレクトリに Functions ファイルを書くと、あらかじめ決めたルートでカスタム機能を持つ Worker が自動生成されます。
/functions フォルダーに helloworld.js ファイルを作成し、次のコードをコピーして貼り付けます。
export function onRequest(context) {
return new Response("Hello, world!");
}上記のコードでは、onRequest ハンドラーがリクエストの context オブジェクトを受け取ります。ハンドラーは Response、または Response の Promise を返す必要があります。
この Function は /helloworld ルートで実行され、"Hello, world!" を返します。このルートで利用できるのは、ファイル名が helloworld.js だからです。同様に、ファイル名が howdyworld.js なら、この関数は /howdyworld で実行されます。
ルートのカスタマイズについては、ルーティング を参照してください。
Pages Functions では Workers のランタイム機能 を設定できます。Node.js API のサブセットとの互換性 や、互換性日付または互換性フラグ の設定も含まれます。
これらの設定は、Wrangler コマンドに引数を渡すか、ダッシュボードで行います。Cloudflare ダッシュボードで Pages の互換性フラグを設定するには、次の手順を実行します。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選びます。
- Workers & Pages を選び、Pages プロジェクトを選びます。
- Settings > Functions > Compatibility Flags を選びます。
- 必要に応じて、Production と Preview の互換性フラグを設定します。
加えて、バインディング を設定すると、Pages プロジェクト内から D1(サーバーレス DB)や R2 などの他の Cloudflare 製品を使えます。
Function をセットアップしたら、Pages プロジェクトをデプロイします。次の方法でデプロイできます。
- Git プロバイダー を接続する。
- コマンドラインから Wrangler を使う。
- Function のルーティング をカスタマイズする
- API リファレンス を確認する
- Function のデバッグ 方法を学ぶ