我是巴贝尔新手.
我这样设置:
.babelrc:
{
"presets": ["es2015", "es2017"]
}
Run Code Online (Sandbox Code Playgroud)
gulpfile:
gulp.task('default', function() {
return gulp.src(['src/**/*.js', '!src/**/3rd/*'])
.pipe(babel())
.pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)
然而,这似乎是编译为es5,这在Safari中并不完全支持.
有没有办法设定目标?那么它可以编译成ES3吗?
不,Babel不支持转发到ES3.
你的选择是:
编译为ES5然后使用ES5垫片.
使用不同的转换器.Google Closure Compiler和TypeScript都支持ES6作为输入,ES3作为输出.
注意: Babel生成的"ES5"代码可能无法在所有浏览器中使用,因为它可能包含ES5中不存在的功能(有关详细信息,请参阅警告).换句话说,由于您的目标甚至是旧版浏览器,因此您还需要Babel polyfill以及ES5垫片.
| 归档时间: |
|
| 查看次数: |
4056 次 |
| 最近记录: |