Поддерживаемые браузеры
Next.js поддерживает современные браузеры без дополнительной настройки.
- Chrome 64+
- Edge 79+
- Firefox 67+
- Opera 51+
- Safari 12+
Browserslist
Если вам нужно настроить поддержку определённых браузеров или функций, Next.js поддерживает конфигурацию Browserslist в файле package.json
. По умолчанию Next.js использует следующую конфигурацию Browserslist:
{
"browserslist": [
"chrome 64",
"edge 79",
"firefox 67",
"opera 51",
"safari 12"
]
}
Полифилы (Polyfills)
Мы автоматически добавляем широко используемые полифилы, включая:
- fetch() — Заменяет:
whatwg-fetch
иunfetch
. - URL — Заменяет: пакет
url
(Node.js API). - Object.assign() — Заменяет:
object-assign
,object.assign
иcore-js/object/assign
.
Если какие-либо из этих полифилов уже включены в ваши зависимости, они будут автоматически удалены из production-сборки, чтобы избежать дублирования.
Кроме того, для уменьшения размера бандла Next.js загружает эти полифилы только для браузеров, которые в них нуждаются. Большинство веб-трафика по всему миру не будет загружать эти полифилы.
Пользовательские полифилы
Если ваш код или внешние npm-зависимости требуют функций, не поддерживаемых целевыми браузерами (например, IE 11), вам нужно самостоятельно добавить соответствующие полифилы.
В этом случае следует добавить импорт конкретного полифила на верхнем уровне в вашем Кастомном <App>
или в отдельном компоненте.
Поддерживаемые функции JavaScript
Next.js позволяет использовать самые современные функции JavaScript без дополнительной настройки. В дополнение к функциям ES6, Next.js также поддерживает:
- Async/await (ES2017)
- Object Rest/Spread Properties (ES2018)
- Dynamic
import()
(ES2020) - Optional Chaining (ES2020)
- Nullish Coalescing (ES2020)
- Class Fields и Static Properties (ES2022)
- и многое другое!
Поддержка TypeScript
Next.js имеет встроенную поддержку TypeScript. Подробнее здесь.
Настройка конфигурации Babel (для продвинутых)
Вы можете настроить конфигурацию Babel. Подробнее здесь.