I am new to babel.
I set it up like this:
.babelrc:
{
"presets": ["es2015", "es2017"]
}
gulpfile:
gulp.task('default', function() {
return gulp.src(['src/**/*.js', '!src/**/3rd/*'])
.pipe(babel())
.pipe(gulp.dest('dist'));
});
However this seems to be compiling to es5 which is not fully supported in Safari.
Is there a way to set target? So it can compile to ES3?
No, Babel does not support transpiling to ES3.
Your options are:
Compile to ES5 and then use ES5 shim.
Use a different transpiler. Google Closure Compiler and TypeScript both support ES6 as input and ES3 as output.
Note: The "ES5" code that Babel produces may not work in all browsers, as it may include features not present in ES5 (see caveats for more info). In other words, since you're targeting even older browsers, you'll also need Babel polyfill as well as ES5 shim.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With