所以我正在使用gulp并尝试了几种组合,但似乎没有什么可以缩小函数名称这里是一个例子:
function minify() {
return gulp.src('js/**/*.js')
.pipe(gTerser({
keep_fnames: false,
mangle: {
keep_fnames: false,
}
}))
.pipe(gulp.dest(`foo/js/`))
}
这个配置也帮我实现了我想要的东西:
.pipe(gTerser({
keep_fnames: false,
mangle: {
properties: {
keep_quoted: true
},
keep_fnames: false,
}
}))
我用你的terser任务做了一个小测试。使用mangle(toplevel)选项,我得到了理想的结果。
mangle选项toplevel:toplevel(默认为false) - 将true传递给在顶级作用域中声明的mangle名称。
const gulp = require('gulp');
const gTerser = require('gulp-terser');
function minify() {
return gulp.src('./js/**/*.js')
.pipe(gTerser({
ecma: 6,
keep_fnames: false,
mangle: {
toplevel: true,
},
}))
.pipe(gulp.dest('./foo/js/'));
}
gulp.task('default', minify)
例:
const minifyMyFunctionName = (num) => {
console.log(num * 2);
};
minifyMyFunctionName(2);
更糟糕的结果:
const o=o=>{console.log(2*o)};o(2);