minify es2017 with gulp

minify es2017 with gulp

本文关键字:gulp with es2017 minify      更新时间:2023-09-26

嘿,伙计们,我目前正在使用uglify-gulp与babel来缩小我的js。它在es2015和es2016上工作得很好。但如果我试着做es2017,它就坏了。

有没有人知道在es2017中使用新的实验功能来最小化js的变通方法?

gulp.src('build/js/bundled/bundle.js')
.pipe(babel({
    compact: false,
    presets: ["es2017", "react"], 
    plugins: ["transform-decorators-legacy"],
}))
.pipe(uglify())
.pipe(gulp.dest('build/js/bundled'));

产生这个错误

GulpUglifyError: unable to minify JavaScript

如果我将es2017更改为es2015/es2016,它将最小化没有es2017功能的包。但是我希望能够使用这些实验性的特性并且能够缩小我的代码

我认为Uglify不能解析ES2015的一些特性,所以你需要将它们翻译成ES5 (es2017目标节点5+)。

有了这些webpack说明,特别是预设和插件,你应该能够让它工作(至少对我来说是这样的,因为我可以通过使用es2017来复制类似的Uglify问题):

presets: ['es2015', 'es2017', 'react'],
plugins: ['transform-runtime', 'transform-decorators-legacy', 'transform-class-properties']