将这个简单的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}}))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。