babel ES7 Async-regeneratorRuntime не определен
Я использую browserify + gulp + babel в своем проекте и имею проблемы с функциями ES7. Вот что я установил:
- babel-plugin-transform-async-to-generator@6.8.0
- babel-plugin-transform-decorators-legacy@1.3.4 / / для использования декораторы
- babel-polyfill@6.9.1
- babel-preset-es2015@6.9.0
- babel-preset-es2016@6.11.0
- babel-preset-stage-0@6.5.0
- babelify@7.3.0
- browserify@13.0.1
- глоток
- gulp-sourcemaps
- винил-буфер
- винил-источник-поток
И это мой код глотка:
gulp.task('build', () => {
let buildPath;
let destPath;
buildPath = `./src`;
destPath = `./dist`;
return browserify(`${buildPath}/app.js`)
.transform(babelify, {
presets: ["es2015", "es2016", "stage-0"],
plugins: ["transform-decorators-legacy", "transform-async-to-generator"]
})
.bundle()
.pipe(source('app.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(`${destPath}`));
});
И это мой код js:
import 'babel-polyfill';
// Async Functions
function wait(t) {
return new Promise((r) => setTimeout(r, t));
}
async function asyncMania() {
console.log('1');
await wait(1000);
console.log('2');
}
asyncMania().then(() => console.log('3'));
Когда я пытаюсь это сделать, появляется Ошибка:
Uncaught ReferenceError: regeneratorRuntime не определен
Использованиеrequire вместоimport также не работает. Большинство вопросов с использованием Webpack, а не browserify и другие подходы не работали на меня, так что это будет очень ценно скажите мне, как я должен сделать.
И у меня есть еще один вопрос, как вы можете видеть, я установил babel-preset-es2015 и babel-preset-es2016 оба, и оба используют. Если я удалю плагин es2015, смогу ли я по-прежнему использовать функции ES6? А также я включил babel-preset-stage-0 , и, как я знаю, это для экспериментальных функций ES7. Что на самом делеbabel-preset-es2016 получил?
1 ответ:
У меня есть такая же ошибка и исправить ее с помощью "babel-plugin-transform-runtime". надеюсь, что это также работает для вас.
Бабель 6 regeneratorRuntime не определена с использованием ключевых слов async/ждут