Опубликовано: 7 мая 2025 г., Последнее обновление: 17 сентября 2025 г.
Browserslist — один из самых популярных инструментов для настройки минимально поддерживаемых версий браузеров в коде фронтенда. Разработчики добавляют запрос browserslist
в файл package.json
(или другую точку конфигурации Browserslist, например, файл .browserslistrc
), и Browserslist предоставляет список минимально поддерживаемых браузеров. Browserslist можно использовать с широким спектром популярных инструментов линтинга, полифиллинга и упаковки, включая:
- Автопрефиксер
- Babel с использованием
@babel/preset-env
- PostCSS с использованием
postcss-preset-env
- ESLint с использованием
eslint-plugin-compat
- Stylelint с использованием
stylelint-no-unsupported-browser-features
- вебпак
Базовые цели
Принимая решение об использовании Baseline, следует учесть базу пользователей и решить, на какой набор функций Baseline вы хотите нацелиться:
- Baseline Widely available включает в себя все веб-функции, которые полностью поддерживались основным браузером Baseline 30 или более месяцев назад.
- Наборы функций базового года, например, Baseline 2020 , включают все функции, которые были впервые доступны в конце указанного года.
В зависимости от вашей пользовательской базы вы можете выбрать Baseline Widely Available или выбрать более раннюю версию Baseline. Чтобы узнать, какие версии браузеров используются вашими пользователями, обратитесь к инструментам аналитики или RUM.
Как ориентироваться на базовый уровень: новый или широко доступный
Поддержка Baseline встроена в Browserslist с помощью нескольких различных запросов. Если вы хотите настроить Baseline для новых доступных браузеров, попробуйте указать baseline newly available
в конфигурации Browserslist:
{
...
"browserslist": [
"baseline newly available"
]
...
}
Вы также можете указать baseline widely available
в качестве запроса:
{
...
"browserslist": [
"baseline widely available"
]
...
}
Как нацелиться на базовые годы
Если вы хотите настроить набор характеристик базового года, укажите год в запросе, например, baseline 2024
если вы хотите настроить набор характеристик 2024 года:
"browserslist": "baseline 2024"
Вы можете указать годы от baseline 2015
до текущего года.
Как указать нижестоящие браузеры
Базовый набор браузеров включает Chrome, Edge, Firefox и Safari. Другие браузеры основаны на том же открытом исходном коде, что и Chrome и Edge — Chromium — и должны поддерживать тот же набор функций, что и любая версия Chromium, которую они реализуют. Чтобы включить эти браузеры в конфигурацию Baseline, добавьте with downstream
после запроса Baseline. Например, чтобы включить браузеры, работающие в рамках Baseline Widely available, укажите baseline widely available with downstream
:
"browserslist": "baseline widely available with downstream"
Еще один допустимый запрос — это baseline newly available with downstream
, а также добавление with downstream
к годовым целевым показателям:
"browserslist": "baseline 2024 with downstream"
Примеры базовых запросов в действии
В упаковочных инструментах
Использование базовых запросов, предлагаемых Browserslist, в вашем проекте может дать мгновенный эффект. Babel — популярный инструмент сборки для упаковки Javascript. Если вы используете значения по умолчанию пакета @babel/preset-env
, многие современные API и методы Javascript будут заменены более сложным синтаксисом, требуемым старыми браузерами:
Однако использование запроса к baseline 2020
для нацеливания набора функций 2020 в том же проекте-примере значительно уменьшает размер выходного кода Javascript, поскольку требуется меньше преобразований синтаксиса:
Попробуйте сделать это самостоятельно, используя пример кода в репозитории baseline-demos лаборатории Google Chrome.
В линтерах
Некоторые линтеры уже работают с Browserslist или могут быть настроены для работы с Browserslist с помощью модуля совместимости. Например, stylelint может использовать конфигурацию browserslist
с помощью модуля stylelint-browser-compat . Настройте файл stylelint.config.js
на использование выбранного вами базового запроса:
module.exports = {
plugins: ['stylelint-browser-compat'],
rules: {
'plugin/browser-compat': [
true,
{
browserslist: ['baseline widely available'],
},
],
},
};
Stylelint теперь будет отмечать CSS, которые в настоящее время не являются частью Baseline Widely available:
Stylelint также предоставляет плагин , позволяющий вам напрямую задавать правила Baseline, но если вы уже используете Browserslist для обработки своей конфигурации, то использование встроенных запросов Baseline, которые предлагает Browserslist, является жизнеспособным решением.