【发布时间】:2021-01-31 22:06:05
【问题描述】:
尝试缩小文件并直接在浏览器上运行。
我正在使用 gulp & babel 来做。当我尝试使用 async/await 函数时,问题就出现了。
package.json
{
"@babel/core": "^7.11.6",
"@babel/plugin-transform-async-to-generator": "^7.12.1",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.11.5",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-concat": "^2.6.1",
...
}
文件
const i = async () => {
return await fetchAll();
};
Gulp/Babel 配置
const BabelConfig = {
presets: ['@babel/env'],
plugins: ['@babel/plugin-transform-async-to-generator']
};
const imports = ['./dev/**.*.js'];
return gulp.src(imports)
.pipe(babel(BabelConfig))
.pipe(concat('min.js'))
.pipe(gulp.dest(paths.dist.js));
这只是简单地抛出“regeneratorRuntime is not defined”。
所以我尝试添加“@babel/plugin-transform-runtime”。
Gulp/Babel 配置
const BabelConfig = {
presets: ['@babel/env'],
plugins: ['@babel/plugin-transform-async-to-generator', '@babel/plugin-transform-runtime']
};
const imports = ['./dev/**.*.js'];
return gulp.src(imports)
.pipe(babel(BabelConfig))
.pipe(concat('min.js'))
.pipe(gulp.dest(paths.dist.js));
但现在我得到“require is not defined”。
有没有人知道如何做到这一点?
【问题讨论】:
标签: javascript async-await gulp ecmascript-2016