Next.js 15

Next.js 15

October 21, 2024
Next.js 15

Next.js 15 официально представлен и готов к использованию в продакшене. Этот релиз основан на обновлениях из RC1 и RC2 и сфокусирован на стабильности, дополненной рядом новых возможностей. Рекомендуется попробовать Next.js 15 уже сегодня:

# Используйте новый инструмент автоматического обновления CLI npx @next/codemod@canary upgrade latest # ...или обновитесь вручную npm install next@latest react@rc react-dom@rc

Основные нововведения в Next.js 15:

  • @next/codemod CLI: Легко обновляйтесь до последних версий Next.js и React.
  • Асинхронные Request API (Breaking Change): Шаг к упрощённой модели рендеринга и кэширования.
  • Семантика Кэширования (Breaking Change): Запросы fetch, обработчики маршрутов GET и клиентская навигация больше не кэшируются по умолчанию.
  • Поддержка React 19: Совместимость с React 19, экспериментальный React Compiler и улучшения ошибок гидратации.
  • Turbopack Dev (Стабильный): Улучшения производительности и стабильности.
  • Индикатор Статических Маршрутов: Новый визуальный индикатор показывает статические маршруты во время разработки.
  • unstable_after API (Экспериментальный): Выполнение кода после завершения стриминга ответа.
  • instrumentation.js API (Стабильный): Новый API для наблюдаемости жизненного цикла сервера.
  • Улучшенные Формы (next/form): Расширение HTML-форм с клиентской навигацией.
  • Поддержка next.config.ts: Поддержка TypeScript в файлах next.config.ts.
  • Улучшения для Самостоятельного Хостинга: Больше контроля над заголовками Cache-Control.
  • Безопасность Server Actions: Непредсказуемые конечные точки и удаление неиспользуемых действий.
  • Оптимизация Бандлинга Внешних Пакетов (Стабильный): Новые параметры конфигурации для App и Pages Router.
  • Поддержка ESLint 9
  • Улучшения Производительности Разработки и Сборки

Плавное Обновление с помощью @next/codemod CLI

Мы включили codemod (автоматизированные преобразования кода) в каждый основной релиз Next.js для облегчения обновления. Новый улучшенный CLI позволяет легко обновиться до последних версий:

npx @next/codemod@canary upgrade latest

Асинхронные Request API (Breaking Change)

Чтобы подготовиться к дальнейшим оптимизациям, API, которые зависят от данных запроса (cookies, headers, params, searchParams), переводятся в асинхронный режим:

import { cookies } from 'next/headers'; export async function AdminPanel() { const cookieStore = await cookies(); const token = cookieStore.get('token'); // ... }

Это является ломающим изменением. Для упрощения миграции доступен codemod:

npx @next/codemod@canary next-async-request-api .

Семантика Кэширования (Breaking Change)

В Next.js 15 поведение кэширования по умолчанию было изменено:

  • GET Обработчики Маршрутов: Больше не кэшируются по умолчанию.
  • Кэш Клиентского Роутера: Компоненты страниц перестали кэшироваться по умолчанию при навигации.

При необходимости кэширование можно включить с помощью опций конфигурации.

Поддержка React 19

В текущем релизе Next.js 15 активирована поддержка React 19 RC, включая экспериментальный React Compiler и улучшенную гидратацию. Для Pages Router сохранена совместимость с React 18, что обеспечивает плавный переход.

Turbopack Dev (Стабильный)

Также объявлено, что next dev --turbo теперь доступен в стабильном виде и значительно ускоряет процесс разработки. Он успешно применялся при работе над крупными проектами (например, vercel.com и nextjs.org) и показал высокую эффективность.

Другие Улучшения

  • Индикатор Статических Маршрутов: Помогает определить, какие маршруты являются статическими или динамическими во время разработки.
  • unstable_after API (Экспериментальный): Предоставляет возможность выполнения кода после окончания стриминга ответа без блокировки основного потока.
  • instrumentation.js API (Стабильный): Даёт возможность отслеживать жизненный цикл сервера в целях мониторинга и отладки.
  • Компонент <Form>: Расширяет традиционные HTML-формы за счёт предзагрузки, клиентской навигации и прогрессивного улучшения.
  • Поддержка next.config.ts: Предусмотрена типизация и автодополнение для настроек конфигурации Next.js.
  • Улучшения для Самостоятельного Хостинга: Позволяют более детально управлять заголовками Cache-Control и использовать оптимизацию изображений без установки sharp.
  • Безопасность Server Actions: Реализованы безопасные непредсказуемые идентификаторы действий и механизм удаления неиспользуемых действий.
  • Оптимизация Бандлинга Внешних Пакетов: Предоставлены опции serverExternalPackages и bundlePagesRouterDependencies для App и Pages Router.
  • Поддержка ESLint 9: Обеспечена обратная совместимость с ESLint 8.
  • Улучшения Производительности: Ускорена сборка, повышена эффективность Fast Refresh и оптимизирована статическая генерация.

Подробности и инструкции по обновлению доступны в официальной документации Next.js 15.


Автор оригинального поста: Delba de Oliveira, Jimmy Lai, Rich Haines

Перейти ко всем постам

© 2025 Natalia's Next blog