javascript - 在 Grunt 上的 uglifyjs 任务期间有条件地删除 DEBUG

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

我想在构建时删除我的 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');
    }
...

最佳答案

另请查看grunt-groundskeeper它删除了这样写的编译指示:

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

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

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

关于javascript - 在 Grunt 上的 uglifyjs 任务期间有条件地删除 DEBUG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192107/

相关文章:

javascript - 如何使用 _.where 通过 ID 查找嵌套在对象数组中的对象?

javascript - HTML Canvas 在全屏尺寸下变得模糊

javascript - 将 NSURLProtocol 与 ReactNative 结合使用

javascript - Grunt 为 mocha 测试提供 html 报告

coffeescript - Grunt contrib 咖啡缩小选项

javascript - 将变量分配给 HTML 选择器、类

node.js - 如何在neo4j中运行批处理事务

node.js - async.parallel 用于多个数据

node.js - 如何使用 Express 和 PassportJS 正确报告无效登录?

javascript - npm 依赖关系不满足(即使它们应该满足?)