【问题标题】:Mangle all variables except one with gulp-uglify使用 gulp-uglify 处理除一个变量之外的所有变量
【发布时间】:2015-07-29 08:05:27
【问题描述】:

有没有办法用 gulp-uglify 处理除特定变量之外的所有变量?

【问题讨论】:

    标签: gulp gulp-uglify


    【解决方案1】:

    肯定有,我找不到关于这些子选项的 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

    感谢Lukas Winkler

    【讨论】:

    • 似乎 UglifyJS 3 except 被替换为 reserved。否则会抛出DefaultsError: except` is not a supported option`
    【解决方案2】:

    没错。

    UglifyJS 3 except 被替换为 reserved。否则会抛出

    DefaultsError: except` is not a supported option

    好像是这样的

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

    【讨论】:

      【解决方案3】:

      这对我有用

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

      【讨论】:

        【解决方案4】:

        你可以这样使用:

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

        【讨论】:

        • 谢谢@sigma,我已经更新了接受的答案,现在 gulp-uglify 已经更新了
        猜你喜欢
        • 2018-12-09
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 2018-09-06
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        相关资源
        最近更新 更多