ben bazı iç JS kodu maruz istediğiniz bir günlük API var kullanımları. Bu API'yi kullanabilmek için sadece bir hata ayıklama oluştururken kullanabilmek istiyorum. Şu anda, kısmen çalışıyorum. Yalnızca hata ayıklama yapılarında günlüğe kaydedilir, ancak düzenli bir yapı olduğunda bu API'ye yapılan çağrılar koddadır. Goog.DEBUG = false ile derleyici olduğumda, kapatma-derleyicisinin esas olarak bu ölü kodları kaldırmasını isterim.olun Kapatma Derleyici şerit günlüğü fonksiyonu
Günlüğü tanımı:
goog.provide('com.foo.android.Log');
com.foo.Log.e = function(message){
goog.DEBUG && AndroidLog.e(message);
}
goog.export(com.foo.Log, "e", com.foo.Log.e);
AndroidLog bu çalışır Web görünümündeki sağlanan bir Java nesnesidir ve düzgün böyle taburcu: my kodunda,
var AndroidLog = {};
/**
* Log out to the error console
*
* @param {string} message The message to log
*/
AndroidLog.e = function(message) {};
Sonra ben kullanabilir : o zaman h Bu API sağlayabilir nasıl benim tüm kodu üzerinde bu API kullanmak, ancak:
com.foo.Log.e("Hello!"); // I want these stripped in production builds
sorum şudur goog.DEBUG = true ile derlenmediğinde kaldırılan bu API'ye yapılan çağrılar var mı? Şu anda, kod tabanım hiçbir zaman çağrılmayan Log API'ye yapılan bir grup çağrıyla şişiriliyor. Kaldırılmasını istiyorum.
Teşekkürler! Bunun yerine jfriend00 olarak kendi Kabuk programı
OK tüm günlük iletilerini şerit olacak, biraz daha kazma sonra, taburcu fonksiyonlar inlined görünmemektedir. http://code.google.com/p/closure-compiler/issues/detail?id = 230 Yine de, goog.DEBUG && –
ile her aramayı hazırlamanın dışında bir geçici çözüm bulmak isterim. Tüm hata ayıklama msg'lerini kendi oluşturma işlemimin bir parçası olarak kaynağımdan çıkarmak için Python'da küçük bir komut dosyası yazdım. İhtiyacım olduğunda bir şey bulabilirdim. Garip çünkü böyle yaygın bir ihtiyaç olmalı. – jfriend00
Evet, o rotaya gidebilirim :) –