terser 不缩小函数名称
terser not minifying function names
所以我将 terser 与 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,
}
}))
我对你的精简任务做了一个小测试。使用 mangle (toplevel) 选项我得到了想要的结果。
mangle option toplevel: toplevel (default false) -- Pass true to mangle names declared in the top level scope.
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);
所以我将 terser 与 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,
}
}))
我对你的精简任务做了一个小测试。使用 mangle (toplevel) 选项我得到了想要的结果。
mangle option toplevel: toplevel (default false) -- Pass true to mangle names declared in the top level scope.
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);