javascript – uglyfy顶级函数与gulp

前端之家收集整理的这篇文章主要介绍了javascript – uglyfy顶级函数与gulp前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
将这个简单的gulp示例用于uglification:
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:

function f1(){
  var hello = 1;
  return hello;
}

文件f2.js:

function f2(){
  return f1();
}

all.min.js中任务的结果是:

function f1(){var n=1;return n}
function f2(){return f1()}

如何让uglify破坏这些顶级函数名称,即f1和f2?我试过了:

额外的丑化

return gulp.src(paths.scripts)
    .pipe(uglify())
    .pipe(concat('all.min.js'))
    .pipe(gulp.dest('build/js'))
    .pipe(uglify());

通过mangle选项

return gulp.src(paths.scripts)
    .pipe(uglify({mangle: true}))
    .pipe(concat('all.min.js'))
    .pipe(gulp.dest('build/js'));

通过顶级选项

return gulp.src(paths.scripts)
    .pipe(uglify({toplevel: true}))
    .pipe(concat('all.min.js'))
    .pipe(gulp.dest('build/js'));

但一切都没有效果.

解决方法

.pipe(uglify({mangle: {toplevel: true}}))

猜你在找的JavaScript相关文章