Поддерживаемые браузеры
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"
]
}
Полифиллы
Мы автоматически добавляем широко используемые полифиллы, включая:
- 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. Подробнее здесь.