Cloudflare Pages Functionsの制限サイズエラー
公開日:2023/7/21更新日:2023/7/21
Next.js製のサイトをCloudflare Pagesにデプロイする際、Functionsのスクリプトサイズが大きすぎる旨のエラーが発生してデプロイに失敗しました。
Error: Failed to publish your Function. Got error: Your Functions script is over the 1 MiB size limit (workers.api.error.script_too_large)
これは、Next.jsのサイトの内部でSanityを使おうとした時に初めて気づいたのですが、結構大きめのプログラムはCloudflareのPages Functionsで動かせないようです。デプロイ自体は進むのですが、最後の最後で失敗します。Next.jsやNuxt.jsのAPI(サーバーサイド)を使う場合はご注意ください。
Pages FunctionsはCloudflare Workers上で実行されるので、仕様や制限もWorkersに準拠するのですが、Workersの制限事項によると、無料プランは1MBまで、有料プランは10MBまでとなっています。
そのため、今回のエラーへの対処法は以下の2パターンになります。
- 1Mbの制限を超えないように調整する
- 課金する
1MB以下に抑えることができればベストですが、今回の私のように外部モジュールを使う場合はサイズダウンが難しいため、課金が必要です。