webpack babel поддержка async

101
03 мая 2021, 17:30

Проблема: Собрал простейший webpack.config.js под react (babel без .babelrc) Понадобилась асинхронная функция - надо добавить plugin для babel.

Без установки плагина Uncaught ReferenceError: regeneratorRuntime is not defined

Обнаружил три плагина на эту тему:

@babel/plugin-transform-async-to-generator
https://babeljs.io/docs/en/babel-plugin-transform-async-functions
@babel/plugin-proposal-async-generator-functions

В дальнейшем понадобятся асинхронные генераторы помимо обычно асинхронных функций.

Я где то читал что также важен порядок, в котором описываются плагины.

Посоветуйте пожалуйста какие плагины применить и в каком порядке их поставить. Кусок моего текущего конфига для babel (включена поддержка декораторов для mobx):

 rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env'],
                        plugins: [
                            "@babel/plugin-transform-react-jsx",
                            ["@babel/plugin-proposal-decorators", { "legacy": true }],
                            ["@babel/plugin-proposal-class-properties", { "loose": true }]
                        ]
                    }
                }
            },
Answer 1

Решение, которое помогло: https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined?page=1&tab=votes#tab-top

Грубо говоря надо поставить плагин babel-polyfill

Предложенный способ в моем случае сработал. Единственно я не понял почему ? Google chrome и так async прекрасно принимает, видимо проблема в самом babel.

Answer 2

Для async/await есть плагин @babel/plugin-transform-runtime

READ ALSO
С чего начать изучение Javascript? [дубликат]

С чего начать изучение Javascript? [дубликат]

Как новичку начать изучение Javascript, посоветуйте лучшие источники

84
Как указать место для вывода hint в HTML?

Как указать место для вывода hint в HTML?

В HTML странице есть две таблицы (Т1 и Т2) одна над другойКаждая ячейка содержит ссылку и скрытый текст для вывода

120
Передать данные из js в django

Передать данные из js в django

Как передать из django в html я понял, нужно в viewspy в context добавить то, что хотим передать

83
Как сверстать блоки табами по 3

Как сверстать блоки табами по 3

В десктопной версии это выглядит вот так http://prntscrcom/om0l1m А для мобильной версии нужно вот так http://prntscr

95