Gulp 用$super-global原型解决丑陋问题

Gulp 用$super-global原型解决丑陋问题,gulp,prototype,gulp-uglify,Gulp,Prototype,Gulp Uglify,我正在尝试使用gulp uglify对我的目录中的所有JS文件进行递归压缩和uglify: var gulp = require('gulp'); var uglify = require('gulp-uglify'); gulp.task('compress', function () { return gulp.src('js/**/*.js') .pipe(uglify({ mangle: {reserved: '$super'}})) .pipe

我正在尝试使用gulp uglify对我的目录中的所有JS文件进行递归压缩和uglify:

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('compress', function () {
    return gulp.src('js/**/*.js')
        .pipe(uglify({ mangle: {reserved: '$super'}}))
        .pipe(gulp.dest('js_dist'));
});

gulp.task('default', ['compress']);

这工作正常,但我注意到我的网站上到处都有javascript错误。这是因为在第138行的引号中,我只能看到一次出现的
$super
,但其他12次出现的都被丑化了。我原以为
reserved
部分会保留这个全局变量,但它似乎不起作用。有什么想法吗?

奇怪的是,这样格式化代码解决了我的问题:

var gulp = require('gulp');
var uglify = require('gulp-uglify');

gulp.task('compress', function () {
    return gulp.src('js/**/*.js')
        .pipe(uglify({
            'mangle': {
                reserved: ['$super']
            }
        }))
        .pipe(gulp.dest('js_dist'));
});

gulp.task('default', ['compress']);

没那么奇怪,mangle.reserved接受一个值数组,即使它只是一个值。我很快意识到了这一点。现在一切都很好!