Gulp在Prototype中使用$ super global解决问题

时间:2017-11-14 09:44:06

标签: gulp prototype gulp-uglify

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

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错误。这是因为在Prototype file中我可以看到第138行的引号中只有一个$super仍然存在,但其余12次出现的情况已经被证实。我认为reserved部分会保留全局,但它似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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']);