Как преобразовать ES2017 в ES5

У меня есть код es2017 с async/await, я хочу преобразовать его в es5, чтобы он поддерживался большинством версий Node.js.

Мой текущий файл .babelrc выглядит так:

{
    "presets": ["es2015", "es2016", "es2017"]
}

Итак, я трансформирую es2017 в es2016, с es2016 в es2015 и с es2015 в es5.

Когда я пытаюсь запустить код после его сборки с помощью babel src -d dist -s, я получаю сообщение об ошибке: ReferenceError: regeneratorRuntime is not defined

Как преобразовать код es2017 в es5? Я хочу опубликовать код позже и сделать его пригодным для использования в node.js v4 и выше.


person xerq    schedule 07.06.2017    source источник
comment
Вы сделали преобразование просто отлично, вам нужно только добавить к полифиллу Babel   -  person Bergi    schedule 07.06.2017
comment
@Bergi, как мне использовать babel-polyfill, если я строю с помощью babel-cli? нигде не нашел эту информацию   -  person xerq    schedule 07.06.2017
comment
Связано: Предложение Transpile Async Await с Babel.js?.   -  person Felix Kling    schedule 07.06.2017


Ответы (1)


Благодаря @Bergi я нашел способ решить эту ошибку ReferenceError: regeneratorRuntime is not defined.

Я добавил плагин transform-runtime в свой .babelrc

Теперь мой .babelrc:

{
    "presets": ["es2015", "es2016", "es2017"],
    "plugins": ["transform-runtime"]
}

Сейчас ошибок нет, все работает.

person xerq    schedule 07.06.2017