Как отключить инъекцию всех полифилов (кроме регенераторного времени) при использовании babel-preset-env? - PullRequest
0 голосов
/ 15 ноября 2018

Я использую Babel 6 babel-preset-env для компиляции кода, нацеленного на 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 - это на самом деле не полифилл, а скорее вспомогательная утилита, которая поддерживает подход Babel для преобразования синтаксиса асинхронных функций и генераторов в IE10-совместимый код. Не уверен, что это усложнит это.

Я знаю, что babel-preset-env имеет опцию useBuiltIns (кроме: я не понимаю название этой опции), которая, очевидно, позволяет вам указать как вы хотите это добавить полифилы ... но я не совсем понимаю, как сказать , а не , чтобы добавить полифиллы вообще (кроме регенераторRuntime, если он считается как полифилл - не уверен).

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

...