Как отключить инъекцию всех полифилов (кроме регенератор Runtime) при использовании babel-preset-env?
Я использую babel-preset-env Babel 6 для компиляции кода, предназначенного для IE10+.
{
"presets": [
["env", {
"targets": {
"browsers": ["ie >= 10"]
}
}],
"stage-3",
"react"
],
"plugins": [
"transform-class-properties"
]
}
Но я также отдельно заполняю браузер (используя Polyfill.io) перед запуском скрипта, скомпилированного моим Babel-приложением. Поэтому я не хочу, чтобы babel-preset-env вставлял какие-либо полифилы для современных JS API (Promise
, Array.from
и т. д.), поскольку я уже заполнил их, так что это пустая трата байтов.
Я по-прежнему хочу, чтобы babel-preset-env компилировал любой современный синтаксис вплоть до IE10, а не вводил полифилы. Но я хочу, чтобы это сделать regeneratorRuntime
- это на самом деле не polyfill, а скорее вспомогательная утилита, которая поддерживает подход Babel для преобразования синтаксиса асинхронных функций и генераторов в IE10-совместимый код. Не уверен, если это усложнит это.
Я знаю, что babel-preset-env имеет useBuiltIns
опция (кроме: я не понимаю название этой опции), которая, по-видимому, позволяет вам указать, как вы хотите, чтобы она добавляла полифилы... но я не совсем понимаю, как сказать, чтобы она вообще не добавляла полифилы (кроме регенератор Runtime, если это считается как полифилл - не уверен).
Есть способ сделать это?