问题
I just wanted to check if there is a way to mangle variables except a specific one for Gulp-Uglify. If there isn't, is there a work-around to achieve the effect I desire? Thanks.
回答1:
There definitely is, I couldn't find any documentation for gulp-uglify regarding these sub-options, so relied on grunt-uglify & wrote it the gulp way.
.pipe( uglify({ mangle: {except: ['jQuery']} }) ) // for gulp-uglify ^2.0.1
The above code will mangle every variable except jQuery
Hopefully this will still be useful for you. ;)
Sam.
========
NB: If you are using gulp-uglify ^3.0.0
please replace except
with reserved
eg:
.pipe( uglify({ mangle: {reserved: ['jQuery']} }) ) // for gulp-uglify ^3.0.0
Kudos to Lukas Winkler
回答2:
That's right.
UglifyJS 3 except
was replaced with reserved
. Otherwise it will throw
DefaultsError: except` is not a supported option
it seem like this
.pipe(uglify({mangle: {reserved: ['$.loadEditor']}}))
回答3:
This work for me
.pipe(uglify({
mangle: { toplevel: true, except: ['variable1', 'variable2',
'function1'], 'function2' }
}))
回答4:
You can use like this:
gulp.src(['src/*.js'])
.pipe(uglify({
mangle: {
except: ['ExtensionId'] // (base on gulp-uglify v1.5.3)
}
}))
来源:https://stackoverflow.com/questions/31694685/make-gulp-uglify-not-mangle-only-one-variable