高度な使用法
Next.jsアプリケーションの前後にコードを実行する必要がある場合は、独自のワーカーエントリポイントを作成し、リクエストをNext.jsアプリケーションに転送します。
これにより、アプリのログをインターセプトしたり、未捕捉の例外をキャッチして処理したり、受信リクエストや送信レスポンスに追加のコンテキストを加えたりすることができます。
- Next.jsプロジェクトに新しいファイルを作成し、次のような
fetch()ハンドラーを記述します。
import nextOnPagesHandler from "@cloudflare/next-on-pages/fetch-handler";
export default { async fetch(request, env, ctx) { // next-on-pagesハンドラーを実行する前に何かを行う
const response = await nextOnPagesHandler.fetch(request, env, ctx);
// next-on-pagesハンドラーを実行した後に何かを行う
return response; },} as ExportedHandler<{ ASSETS: Fetcher }>;これはワーカーのように見えますが、独自のwrangler.tomlファイルは必要ありません。これは、@cloudflare/next-on-pagesがCloudflare Pagesプロジェクトにデプロイされるビルドの出力をラップするために使用するコードと考えることができます。
- ハンドラーへのパスを指定して、next-on-pages CLIにエントリポイント引数を渡します。
npx @cloudflare/next-on-pages --custom-entrypoint=./custom-entrypoint.ts