因此,我在gulp中使用了terser,并尝试了几种组合,但似乎没有什么能使函数名最小化,这是一个示例:
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,
}
}))
答案 0 :(得分:1)
我已经对您的任务进行了小测试。使用mangle(顶层)选项,可以得到理想的结果。
mangle选项toplevel :toplevel(默认为false)-将true传递给在顶层作用域中声明的名称。
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);
Terser结果:
const o=o=>{console.log(2*o)};o(2);