将这个简单的gulp示例用于uglification:
@H_403_2@gulp.task('scripts',function() {
// Minify and copy all JavaScript (except vendor scripts)
return gulp.src(paths.scripts)
.pipe(uglify())
.pipe(concat('all.min.js'))
.pipe(gulp.dest('build/js'));
});
如果您有两个文件:
文件f1.js:
@H_403_2@function f1(){ var hello = 1; return hello; }文件f2.js:
@H_403_2@function f2(){ return f1(); }all.min.js中任务的结果是:
@H_403_2@function f1(){var n=1;return n} function f2(){return f1()}如何让uglify破坏这些顶级函数名称,即f1和f2?我试过了:
额外的丑化
@H_403_2@return gulp.src(paths.scripts) .pipe(uglify()) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js')) .pipe(uglify());通过mangle选项
@H_403_2@return gulp.src(paths.scripts) .pipe(uglify({mangle: true})) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js'));通过顶级选项
@H_403_2@return gulp.src(paths.scripts) .pipe(uglify({toplevel: true})) .pipe(concat('all.min.js')) .pipe(gulp.dest('build/js'));但一切都没有效果.
解决方法
@H_403_2@.pipe(uglify({mangle: {toplevel: true}}))