【问题标题】:Conditionally removing DEBUG during uglifyjs task on Grunt在 Grunt 上的 uglifyjs 任务期间有条件地删除 DEBUG
【发布时间】:2014-06-12 19:08:02
【问题描述】:

我想在构建时删除我的 DEBUG 语句,我注意到 http://lisperator.net/uglifyjs/compress 我可以定义 global_defs: { DEBUG : false } 以删除包含在调试子句 if (DEBUG) {} 中的任何内容

我的 uglify 任务似乎没有删除任何 DEBUG 部分,对我做错了什么有什么想法吗?

我正在使用 grunt-contrib-uglify v0.3.3

这是我的繁重的任务: ...

uglify: {
   ...
   simple: {
       options : {
          mangle: false,
          compress: {
            global_defs: {
              DEBUG: false
            },
            dead_code: true
          }
       },
       files: {
          'yayMin.js' : [ ..., somefile.js, ... ]
       }
   },...
...

somefile.js

...
    if (DEBUG) {
       console.log('epic fail - fix your build');
    }
...

【问题讨论】:

    标签: javascript node.js gruntjs uglifyjs grunt-contrib-uglify


    【解决方案1】:

    还可以查看grunt-groundskeeper,它会删除这样编写的编译指示:

    // <debug>
    doSomething();
    // </debug>
    
    // <validation>
    performSomeValidationOnlyNeededDuringDevelopment();
    // </validation>
    

    它还具有删除对console.log()debugger; 语句的调用的选项。

    【讨论】:

      【解决方案2】:

      grunt-contrib-uglify 中似乎存在一个错误,它只会从一个文件中删除 global_defs。我注意到如果我将文件缩减为一个文件,则会按照选项的要求删除 DEBUG 语句

      没用:

       ...
       files: {
                'yayMin.js' : [ ..., anotherfile.js, somefile.js, anotherfile2.js, ... ]
             }
       ...
      

      工作:

      ...
      files: {
                'yayMin.js' : [ somefile.js ]
             }
      ...
      

      最终的 Grunt 任务

      uglify: {
      'build-minify' : {
              options: {
                mangle: false,
                compress: {
                  global_defs: {
                    DEBUG: false
                  },
                  dead_code: true
                },
                wrap: true
              },
              files : {
                'justSayNoToDebug.js' : [
                  'ahHaveDebugsInMe.js'
                ]
              }
            },
      

      【讨论】:

      • ughhhhhhhhhhhhhhh 太糟糕了
      猜你喜欢
      • 2013-10-07
      • 2014-12-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多