既存の OpenNext アプリケーションを維持するには、このガイドを使います。互換性が許せば vinext に移行してください。
OpenNext ↗ は next build の出力を、Cloudflare Workers を含むさまざまなプラットフォームで動かせるように変換します。
ほとんどの Next.js 機能は、Cloudflare OpenNext アダプターで使えます。
| 機能 | Cloudflare OpenNext アダプター | 備考 |
|---|---|---|
| App Router | 対応 | |
| Pages Router | 対応 | |
| Route Handlers | 対応 | |
| React Server Components | 対応 | |
| Static Site Generation (SSG) | 対応 | |
| Server-Side Rendering (SSR) | 対応 | |
| Incremental Static Regeneration (ISR) | 対応 | |
| Server Actions | 対応 | |
| Response streaming | 対応 | |
next/after による非同期処理 |
対応 | |
| Middleware | 対応 | |
| 画像最適化 | 対応 | Cloudflare Images 経由で対応しています。 |
| Partial Prerendering (PPR) | 対応 | PPR は Next.js では実験的です。 |
Composable Caching ("use cache") |
対応 | Composable Caching は Next.js では実験的です。 |
| Middleware 内の Node.js | 未対応 | Next.js 15.2 で導入された Node.js middleware は、まだ対応していません。 |
OpenNext の詳細は、OpenNext for Cloudflare ↗ を参照してください。
Wrangler の自動設定は、Next.js プロジェクトに vinext を使います。OpenNext を使うには、アダプターを手動で設定します。
-
OpenNext の Cloudflare アダプターをインストールします。
npm i @opennextjs/cloudflare@latestyarn add @opennextjs/cloudflare@latestpnpm add @opennextjs/cloudflare@latestbun add @opennextjs/cloudflare@latest -
Wrangler をインストールします。
npm i -D wrangler@latestyarn add -D wrangler@latestpnpm add -D wrangler@latestbun add -d wrangler@latest -
Wrangler 設定ファイルを追加します。
プロジェクトルートに、次の内容の Wrangler 設定ファイル を作成します。
{ "$schema": "./node_modules/wrangler/config-schema.json", "name": "my-app", "main": ".open-next/worker.js", // Set this to today's date "compatibility_date": "2026-09-20", "compatibility_flags": [ "nodejs_compat" ], "assets": { "directory": ".open-next/assets", "binding": "ASSETS" }, "observability": { "enabled": true } }name = "my-app" main = ".open-next/worker.js" # Set this to today's date compatibility_date = "2026-09-20" compatibility_flags = ["nodejs_compat"] [assets] directory = ".open-next/assets" binding = "ASSETS" [observability] enabled = true -
OpenNext 設定ファイルを追加します。
プロジェクトルートに
open-next.config.tsを作成します。import { defineCloudflareConfig } from "@opennextjs/cloudflare"; export default defineCloudflareConfig();このファイルで、キャッシュなどの OpenNext 機能を設定します。詳細は OpenNext のキャッシュ ↗ を参照してください。
-
package.jsonを更新します。プレビュー、デプロイ、Cloudflare 型の生成用スクリプトを追加します。
{ "scripts": { "preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview", "deploy": "opennextjs-cloudflare build && opennextjs-cloudflare deploy", "cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts" } }スクリプトの使い方
preview: アプリをビルドし、Workers ランタイムでローカルに配信します。deploy: アプリをビルドし、Cloudflare Workers にデプロイします。cf-typegen: Cloudflare バインディングの型を含むcloudflare-env.d.tsを生成します。
-
ローカルで開発します。
Next.js の開発サーバーを起動します。
npm run devyarn run devpnpm run dev -
OpenNext でプレビューします。
Workers ランタイムでアプリケーションをプレビューします。
npm run previewyarn run previewpnpm run preview -
プロジェクトをデプロイします。
プロジェクトを Cloudflare Workers にデプロイします。
npm run deployyarn run deploypnpm run deploy