make gulp-uglify不能仅修改一个变量

时间:2015-07-29 08:05:28

标签: gulp gulp-uglify

我只是想检查是否有办法来修改变量,除了Gulp-Uglify的特定变量。如果没有,是否有解决方案来达到我想要的效果?感谢。

4 个答案:

答案 0 :(得分:13)

肯定有,我无法找到gulp-uglify关于这些子选项的任何文档,因此依赖于grunt-uglify&把它写成 gulp 方式。

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

上述代码会破坏除 jQuery

之外的所有变量

希望这对您仍然有用。 ;)

萨姆。

======

NB :如果您使用的是gulp-uglify ^3.0.0,请将except替换为reserved,例如:

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

赞赏Lukas Winkler

答案 1 :(得分:3)

没错。

UglifyJS 3 <div class="popup-footer-btns-wrapper"> <!-- ngIf: popup.buttons.OK --> <button sf-button="" sf-name="popup-ok" ng-if="popup.buttons.OK" ng- disabled="okLocked || popup.buttons.OK.disabled()" ng-click="ok()" ng- class="popup.buttons.OK.colour ? popup.buttons.OK.colour : 'grey'" class="popup-footer-button ng-scope ng-isolate-scope sf-button sf- button-ext grey" style=""> <span class="sf-button-ext__content"><ng- transclude>Apply</ng-transclude></span> </button> <!-- end ngIf: popup.buttons.OK --><button sf-name="popup-cancel" class="popup-footer- button sf-link underline ng-binding" ng-click="cancel()">Cancel</button> </div>已替换为except。否则会抛出

reserved

看起来像这样

DefaultsError: except` is not a supported option

答案 2 :(得分:0)

这项工作对我来说

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

答案 3 :(得分:0)

您可以这样使用:

gulp.src(['src/*.js'])
    .pipe(uglify({
        mangle: {
            except: ['ExtensionId'] // (base on gulp-uglify v1.5.3)
        }
    }))