Как отключить инъекцию всех полифилов (кроме регенератор 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, если это считается как полифилл - не уверен).

Есть способ сделать это?

0 ответов

Другие вопросы по тегам