代码之家  ›  专栏  ›  技术社区  ›  wheresrhys

告诉YUI压缩机删除特定的未注释代码

  •  7
  • wheresrhys  · 技术社区  · 14 年前

    在我的javascript中,我有一些专门用于调试的代码,我不想将它们包含在实时站点中。有没有一种方法可以半注释这些代码位,使它们正常运行为javascript,但yui压缩器认为它们是注释并删除它们?

    例如

    for(key in modules) {
      try { 
         MyApp[key].init(modules[key].params);
      } catch (e) {
         console.log("Module " + key + " threw an error");
         break;
      }
    }
    

    我希望能够在压缩部署到活动站点时自动注释掉console.log位。所以也许用类似的东西包装代码

       //yuiIgnore
             console.log("Module " + key + " threw an error");
       //endyuiIgnore
    
    1 回复  |  直到 14 年前
        1
  •  8
  •   bbg    14 年前

    特别是关于 console.log 声明:

    我在用 sed 替代 "console" 具有 "//console" 启动压缩机前:

    sed -e "s/console/\/\/console/g" originalWithConsoleStatements.js > noConsoleStatements.js
    

    此语句位于shell脚本中,然后该脚本启动压缩器。