我使用browserify +一口+巴別在我的項目,以及具有ES7功能問題regeneratorRuntime沒有定義。這些都是我裝什麼:巴貝爾ES7異步 -
- [email protected]
- [email protected] //用於裝飾
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- babelify @ 7.3.0
- [email protected]
- 吞
- 吞-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 is not defined
使用需要代替進口也不起作用。大多數問題都使用Webpack,而不是瀏覽器,其他方法都不適用於我,因此,非常感謝您告訴我該怎麼做。
而且我有一個問題,你可以看到,我安裝了巴貝爾預設-ES2015和巴貝爾預設-es2016兩者,兩者都使用。如果我刪除es2015插件,我還可以使用ES6功能嗎?而且我還包括babel-preset-stage-0,並且據我所知這是針對實驗性ES7功能的。實際上babel-preset-es2016得到了什麼?
我裝**變換再生**插件和**變換異步函數**,仍然不起作用。 :( – modernator