← Cloudflare Workers / workers / framework-guides / web-apps
Адаптер OpenNext
Используйте это руководство для поддержки существующего приложения OpenNext. Переходите на vinext, как только это позволит совместимость.
OpenNext ↗ адаптирует вывод next build чтобы он мог работать на разных платформах, включая Cloudflare Workers.
Поддерживаемые возможности
Большинство функций Next.js поддерживается адаптером Cloudflare OpenNext:
| Возможность | Адаптер Cloudflare для OpenNext | Примечания |
|---|---|---|
| App Router | Поддерживается | |
| Pages Router | Поддерживается | |
| Обработчики маршрутов | Поддерживается | |
| React Server Components | Поддерживается | |
| Static Site Generation (SSG) | Поддерживается | |
| Серверный рендеринг (SSR) | Поддерживается | |
| Incremental Static Regeneration (ISR) | Поддерживается | |
| Server Actions | Поддерживается | |
| Потоковая передача ответа | Поддерживается | |
Асинхронная работа с next/after |
Поддерживается | |
| Промежуточное ПО | Поддерживается | |
| Оптимизация изображений | Поддерживается | Поддерживается через Cloudflare Images. |
| Partial Prerendering (PPR) | Поддерживается | PPR является экспериментальной функцией в Next.js. |
Composable Caching ("use cache") |
Поддерживается | Composable Caching является экспериментальной функцией в Next.js. |
| Node.js в Middleware | Пока не поддерживается | Node.js middleware, появившийся в Next.js 15.2, пока не поддерживается. |
Подробную документацию по OpenNext см. в OpenNext для Cloudflare ↗.
Настройте OpenNext вручную
Автоматическая настройка Wrangler использует vinext для проектов Next.js. Чтобы использовать OpenNext, настройте адаптер вручную.
-
Установите адаптер OpenNext для Cloudflare.
npm i @opennextjs/cloudflare@latest -
Установите Wrangler.
npm i -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-08-28", "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-08-28" 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-env.d.tsс типами привязок Cloudflare.
-
Локальная разработка.
Запустите сервер разработки Next.js.
npm run dev -
Предпросмотр с OpenNext.
Откройте предпросмотр приложения в Workers runtime.
npm run preview -
Разверните ваш проект.
Разверните ваш проект на Cloudflare Workers.
npm run deploy