Как включить async / await с babel с поддержкой IE11 - PullRequest
0 голосов
/ 08 ноября 2019

Я надеюсь использовать async / await в моем исходном коде и передать его babel к чему-то полезному >0.25% not dead.

Моя голова кружится от множества способов атаковать это. Некоторые устарели, некоторые из них не работают, а тот, который я получил, работает более чем в два раза больше размера моей библиотеки.

Я пытался использовать @babel/polyfill с @babel/plugin-transform-async-to-generator, и этоработает хорошо, но библиотека идет от ~ 500 КБ до ~ 1.1 МБ.

Я также пытался оставить его на @babel/preset-env, задав ему >0.25% not dead, но это не имело значения. Я получаю:

регенераторRuntime не определен

Я надеюсь, что есть лучший способ сделать это, чем включить все эти regeneratorRuntime вещи ...

Я бы предпочел вернуться к пирамиде обратного вызова судьбы, чем отправлять библиотеку за 1 Мб ...

Я использую:

  • webpack 4.41.0
  • Бабель 7.6.2

1 Ответ

1 голос
/ 11 ноября 2019

Если вам нужен только генератор поли-заполнения - который необходим для асинхронного / await - тогда вы можете просто использовать facebook / регенератор .

Вы можете выполнить шаги для поддержкиasync / await в IE 11:

  • использование babel-preset-env
  • yarn add regenerator или npm install regenerator
  • add node_modules/regenerator-runtime/runtime.js (10.7kb minified) в ваш пакет

Ссылка: Добавьте поддержку ES7 Async / Await для вашего веб-приложения в 3 простых шага

...