Да, вы можете использовать пресет Babels env для создания нескольких версий ваших пакетов, которые обеспечивают различные уровни совместимости с браузером.
Например, это .babelrc создаст пакет, совместимый с Firefox версии 50 и выше:
{
"presets": [
["env", {
"targets": {
"browsers": ["Firefox > 50"]
}
}]
]
}
Без каких-либо параметров, плагин env создаст пакет, который работает в широком спектре браузеров, чтовероятно, будет намного больше, чем тот, который создан специально для современного браузера, такого как Firefox:
{
"presets": ["env"]
}
Предустановка env использует browserslist для указания браузеров, которые должен использовать Babelкак мишень для транспиляции.Список браузеров содержит язык запросов, который позволяет вам указывать браузеры по типу, платформе, версии, статистике использования и т. Д. Изучите их документацию, чтобы выяснить, какие запросы использовать для вашей конкретной аудитории.
Вы можете попробовать список браузеров.запросы в командной строке выглядят так:
npx browserslist "> 10%, last 3 versions"
Это дает вам список последних 3 версий браузеров, использование которых превышает 10%.
Как только вы выяснили, какие запросы списков браузеров работают для вас, чтобы создать большой пакет для максимальной совместимости с браузером и более тонкий для современных браузеров, вы можете использовать ngx_http_browser_module для обслуживания пакетав зависимости от агента пользователя входящего запроса.