mod*_*tor 10 babel browserify gulp ecmascript-7
我在我的项目中使用了browserify + gulp + babel,并且在ES7功能方面存在问题.这些是我安装的:
这是我的gulp代码:
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}`));
});
Run Code Online (Sandbox Code Playgroud)
这是我的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'));
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,得到一个错误:
未捕获的ReferenceError:未定义regeneratorRuntime
使用require而不是import也不起作用.大多数问题都是使用Webpack,而不是浏览器,其他方法对我没有用,所以非常感谢告诉我该怎么做.
我还有一个问题,你可以看到,我安装了babel-preset-es2015和babel-preset-es2016,两者都在使用.如果我删除es2015插件,我还可以使用ES6功能吗?而且我还包括babel-preset-stage-0,我知道这是实验性的ES7功能.实际上babel-preset-es2016得到了什么?
| 归档时间: |
|
| 查看次数: |
12579 次 |
| 最近记录: |