【问题标题】:How to turn off console.log() for production in Cordova / PhoneGap?如何在 Cordova/PhoneGap 中关闭 console.log() 进行生产?
【发布时间】:2012-11-17 18:37:35
【问题描述】:

如何在 Cordova / PhoneGap 中关闭 JavaScipt console.log() 以进行生产?禁用控制台中的调试信息可能会大大加快移动应用程序的速度。

有很多方法,但似乎都没有。

任何有效的例子?其他可行的方法?

【问题讨论】:

    标签: javascript debugging cordova mobile


    【解决方案1】:

    包装可能是一种解决方案。如果没有 3rd 方库正在使用实际的控制台,并且您只想使用 log 方法。

    var konsole = {
        log: function () {
            if (env === 'dev') {
                console.log(arguments)
            }
    
        }
    }
    
    konsole.log('fff');
    

    env 是环境变量的替代品,您可以从某种注册表中获得。

    【讨论】:

      【解决方案2】:

      正确的做法是覆盖Debug Console 插件,iOS 上默认为CDVDebugConsole。子类那个类然后做这样的事情:

      - (void)log:(CDVInvokedUrlCommand*)command
      {
          #ifdef DEBUG
              [super log:command];
          #endif
      }
      

      记得更新您的config.xml 以使用新插件。

      【讨论】:

      • “不记得” - 我猜你的意思是“记住”或“不要忘记”?
      【解决方案3】:

      我建议使用:https://github.com/sunnykgupta/jsLogger

      特点:

      • 它安全地覆盖了 console.log。如果控制台不可用,请注意(哦,是的,您也需要考虑这一点。)
      • 存储所有日志(即使它们被禁止)以供以后检索。
      • 处理主要的控制台功能,如日志、警告、错误、信息。
      • 已开放修改,并会在出现新建议时更新。

      免责声明:我是插件的作者。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 1970-01-01
        • 2015-03-16
        • 2019-06-12
        • 1970-01-01
        • 2018-10-06
        • 2019-10-08
        相关资源
        最近更新 更多