INTEGRITY Документация

Адаптер 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, настройте адаптер вручную.

  1. Установите адаптер OpenNext для Cloudflare.

    npm i @opennextjs/cloudflare@latest
  2. Установите Wrangler.

    npm i -D wrangler@latest
  3. Добавьте файл конфигурации 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
  4. Добавьте файл конфигурации OpenNext.

    В корне проекта создайте open-next.config.ts:

    import { defineCloudflareConfig } from "@opennextjs/cloudflare";
    
    export default defineCloudflareConfig();

    Используйте этот файл для настройки функций OpenNext, например кеширования. Дополнительные сведения см. в Кеширование в OpenNext.

  5. Обновите 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.
  6. Локальная разработка.

    Запустите сервер разработки Next.js.

    npm run dev
  7. Предпросмотр с OpenNext.

    Откройте предпросмотр приложения в Workers runtime.

    npm run preview
  8. Разверните ваш проект.

    Разверните ваш проект на Cloudflare Workers.

    npm run deploy