assetPrefix

Внимание: Развертывание на Vercel автоматически настраивает глобальный CDN для вашего проекта Next.js. Вам не нужно вручную настраивать Asset Prefix.

Полезно знать: В Next.js 9.5+ была добавлена поддержка настраиваемого Base Path, который лучше подходит для размещения вашего приложения в подкаталоге, например /docs. Мы не рекомендуем использовать пользовательский Asset Prefix для этого сценария.

Для настройки CDN вы можете установить префикс ресурсов (asset prefix) и настроить источник CDN для разрешения на домен, где размещён Next.js.

Откройте next.config.js и добавьте конфигурацию assetPrefix:

next.config.js
const isProd = process.env.NODE_ENV === 'production'

module.exports = {
  // Используйте CDN в production и localhost для разработки.
  assetPrefix: isProd ? 'https://cdn.mydomain.com' : undefined,
}

Next.js будет автоматически использовать ваш префикс ресурсов для файлов JavaScript и CSS, которые он загружает из пути /_next/ (папка .next/static/). Например, с приведённой выше конфигурацией запрос к JS-чанку:

/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js

Будет преобразован в:

https://cdn.mydomain.com/_next/static/chunks/4b9b41aaa062cbbfeff4add70f256968c51ece5d.4d708494b3aed70c04f0.js

Точная конфигурация загрузки файлов на ваш CDN будет зависеть от выбранного CDN. Единственная папка, которую нужно разместить на CDN — это содержимое .next/static/, которое должно быть загружено как _next/static/, как указано в URL выше. Не загружайте остальную часть папки .next/, так как вы не должны раскрывать серверный код и другую конфигурацию публично.

Хотя assetPrefix охватывает запросы к _next/static, он не влияет на следующие пути:

  • Файлы в папке public; если вы хотите обслуживать эти ресурсы через CDN, вам нужно самостоятельно добавить префикс