独自のデバッグ関数を定義して、ラッパー アラウンドconsole.log
または必要なものを定義し、空にした場合にミニファイアがノーオペレーションであると簡単に推測できるようにします。その後、関数本体をコメントアウトすると、ほとんどのミニファイアは、呼び出しまたはインライン化するものがないことを検出し、関数への参照を完全に削除する必要があります。
次に例を示します。
(function() {
function debug() {
console.log(arguments)
}
function main() {
debug(123)
alert("This is production code!")
debug(456)
}
main()
})()
スコープを制限し、ウィンドウに割り当てないようにするために匿名関数に入れました。これdebug
により、ミニファイアーは必要かどうかを簡単に判断できます。このコードをオンライン GCCに貼り付けると、次のようになります。
(function(){function a(){console.log(arguments)}a(123);alert("This is production code!");a(456)})();
しかし、空の//
前console.log
に追加すると、GCC はそれを次のようにコンパイルします。debug
(function(){alert("This is production code!")})();
...デバッグ コードのすべての痕跡を完全に削除します。