Исправить все переменные, кроме одной, с помощью gulp-uglify

Есть ли способ изменить все переменные, кроме одной, с помощью gulp-uglify?


person deleted    schedule 29.07.2015    source источник


Ответы (4)


Определенно есть, я не смог найти никакой документации для gulp-uglify относительно этих суб- вариантов, поэтому полагался на grunt-uglify и писал gulp< /эм> путь.

.pipe( uglify({ mangle: {except: ['jQuery']} }) ) // for gulp-uglify ^2.0.1

Приведенный выше код искажает все переменные, кроме jQuery

Надеюсь, это все еще будет полезно для вас. ;)

Сэм.

========

Примечание: если вы используете gulp-uglify ^3.0.0, замените except на reserved, например:

.pipe( uglify({ mangle: {reserved: ['jQuery']} }) ) // for gulp-uglify ^3.0.0

Спасибо Лукасу Винклеру

person Sam    schedule 12.08.2015
comment
Похоже, что в UglifyJS 3 except заменили на reserved. В противном случае он выдаст DefaultsError: кроме того, что не поддерживается. - person lw1.at; 16.05.2017

Вот так.

UglifyJS 3 except был заменен на reserved. Иначе выкинет

DefaultsError: except` is not a supported option

похоже на это

.pipe(uglify({mangle: {reserved: ['$.loadEditor']}}))

person fydor    schedule 16.07.2017

Эта работа для меня

.pipe(uglify({
  mangle: { toplevel: true, except: ['variable1', 'variable2',
  'function1'], 'function2' }
}))
person Hugz    schedule 07.01.2016

Вы можете использовать так:

gulp.src(['src/*.js'])
    .pipe(uglify({
        mangle: {
            except: ['ExtensionId'] // (base on gulp-uglify v1.5.3)
        }
    }))
person duXing    schedule 12.03.2016
comment
Спасибо @sigma, я обновил принятый ответ, теперь gulp-uglify обновлен - person Sam; 09.05.2017