2

Cordova / PhoneGap で本番用に JavaScipt console.log() をオフにするにはどうすればよいですか? コンソールでデバッグ情報を無効にすると、おそらくモバイル アプリがかなり高速化されます。

多くのアプローチがありますが、どれもうまくいかないようです。

実際の例はありますか?他の実行可能なアプローチ?

4

3 に答える 3

1

ラッピングは解決策かもしれません。サードパーティのライブラリが実際のコンソールを使用しておらず、ログ メソッドのみを使用する場合。

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

    }
}

konsole.log('fff');

env は、ある種のレジストリから取得できる環境変数の代わりです。

于 2012-11-17T18:50:12.760 に答える
1

これを行う正しい方法はDebug Console、iOS のデフォルトであるプラグインをオーバーライドすることCDVDebugConsoleです。そのクラスをサブクラス化し、次のようにします。

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

config.xml新しいプラグインを使用するには、忘れずに更新してください。

于 2013-02-27T15:33:59.583 に答える
0

以下を使用することをお勧めします: https://github.com/sunnykgupta/jsLogger

特徴:

  • これは、console.log を安全にオーバーライドします。コンソールが利用できない場合は注意してください (そうです、それも考慮に入れる必要があります)。
  • 後で取得できるように、すべてのログを (抑制されている場合でも) 保存します。
  • ログ、警告、エラー、情報などの主要なコンソール機能を処理します。
  • 変更を受け付けており、新しい提案が出てくるたびに更新されます。

免責事項:私はプラグインの作成者です。

于 2014-11-07T08:10:12.547 に答える