Closure Compiler Service API Referansı

Kapatma derleyici hizmeti kullanımdan kaldırılmıştır ve kaldırılacaktır. Bunun yerine derleyiciyi yerel olarak çalıştırmayı düşünebilirsiniz.

Genel bakış

Derlenen kodu veya Closure Compiler hizmetinden diğer bilgileri istemek için URL'ye bir HTTP POST isteği göndermeniz gerekir.https://closure-compiler.appspot.com/compile İsteğin gövde metni, Gerekli İstek Parametreleri'nde listelenen parametreleri içermelidir. Ayrıca, İsteğe Bağlı İstek Parametreleri'nde listelenen isteğe bağlı parametrelerden herhangi birini de içerebilir.

Bu sayfa, mümkün olduğunda İşaretler ve Seçenekler'deki komut satırı seçenekleri için standart dokümanlara uyar. Web hizmetinde kullanılamayan komut satırı seçenekleri burada belgelenmiyor. Bazı istek parametreleri de komut satırında kullanılamaz veya farklı bir ada sahiptir.

Sunucu isteğinizi işleme koyamazsa bir sunucu hata mesajı alırsınız. Bu mesajlar, Hata Mesajları bölümünde açıklanmıştır.

İstek Parametreleri

Gerekli İstek Parametreleri

js_code veya code_url

Derlenecek JavaScript. Bu parametrelerden en az birini eklemeniz gerekir ve her ikisini de ekleyebilirsiniz.

js_code parametresi, alert('hello') gibi JavaScript içeren bir dize olmalıdır.

code_url parametresi bir JavaScript dosyasının URL'sini içermelidir. Birden fazla giriş dosyası belirtmek için birden fazla code_url parametresi ekleyebilirsiniz.

compilation_level

İşaretler ve Seçenekler bölümünden compilation_level dokümanlarına bakın.

output_format
Cloup Derleyici Hizmeti çıktısının biçimi. Üç olası çıkış biçimi vardır:
xml

xml çıkış biçimi, istenen bilgileri geçerli bir XML içinde sarmalar.

XML çıkışı aşağıdaki gibi görünür:

        <compilationResult>
          <compiledCode>var a="hello";alert(a);</compiledCode>
          <statistics>
            <originalSize>98</originalSize>
            <compressedSize>35</compressedSize>
            <compileTime>0</compileTime>
          </statistics>
        </compilationResult>
      

compiledCode bölümü, Closure Compiler hizmetinin oluşturduğu sıkıştırılmış JavaScript'i içerir. Bu bölüm yalnızca, isteğe compiled_code değerine sahip bir output_info parametresi eklerseniz görünür. Benzer şekilde, statistics bölümü yalnızca statistics değerine sahip bir output_info parametresi eklerseniz görünür.

warnings değerine sahip bir output_info parametresi eklerseniz ve derleyici bir uyarı oluşturursa çıkışa bir warnings etiketi eklenir:

        <compilationResult>
         ...
         <warnings>
           <warning type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3"  line="delete 1;">warning 1</warning>
           <warning type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="delete 1;">warning 2 </warning>
         </warnings>
          ...
        </compilationResult>
      

errors değerine sahip bir output_info eklerseniz Kapat komutunun derlemesi bir söz dizimi hatası veya derlemeyi önleyen başka bir sorun içeriyorsa Kapanış Derleme Hizmeti errors etiketi içerir. errors etiketi şöyle görünür:

        <compilationResult>
          ...
          <errors>
            <error type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3"  line="var x=-'hello';">error 1 </error>
            <error type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="var x=-'hello'">error 2 </error>
          </errors>
          ...
        </compilationResult>
      

error ve warning etiketlerinin file, line ve col özellikleri, Closure Compiler hizmetinin hatayla nerede karşılaştığını belirtir.

Closure Compiler hizmeti, girişlerinizin işlenmesini engelleyen bir hatayla karşılaşırsa çıkış şu şekilde görünür:

        <compilationResult>
          <serverErrors>
            <error code="1">Over quota</error>
          </serverErrors>
        </compilationResult>
      
json

json çıkış biçimi, istenen bilgileri bir JavaScript Object Notation (JSON) dizesinde sarmalar. Bu dizenin JavaScript olarak değerlendirilmesi, JavaScript Nesnesi döndürür.

JSON çıkışı şu şekilde görünür:

{
"compiledCode":/* raw code here */,
{"errors": [
  {"charno":4321,
   "error":"ERROR: You failed.",
   "lineno":1234,
   "file":"default.js",
   "type":"ERROR_TYPE",
   "line":"var x=-'hello';"}],
"warnings": [
  {"charno":4321,
   "lineno":1234,
   "file":"default.js",
   "type":"ERROR_TYPE",
   "warning":"Warning: You did something wrong!",
   "line":"delete 1;"}]
"serverErrors":[
  {"code":123,"error":"Over quota"}
  ],
"statistics":{
  "originalSize":10,
  "compressedSize":3000
  "compileTime":10
  }
}
      

JSON biçimi, XML biçimine benzerdir: XML çıkışındaki her etiket, JSON nesnesindeki aynı ada sahip bir özelliğe karşılık gelir

text
text çıkış biçimi, ham metni etiketler veya JSON köşeli parantezleri olmadan döndürür. output_info içerisinde compiled_code varsa metin JavaScript içerir. output_info warnings içeriyorsa metin uyarı mesajları içerir. output_info içerisinde statistics varsa metin istatistik içerir.

output_format parametresi varsayılan olarak text değerine sahiptir.

output_info

Derleyiciden almak istediğiniz çıkış türünü gösterir. Dört olası çıkış türü vardır:

compiled_code
Giriş JavaScript'inizin sıkıştırılmış ve optimize edilmiş bir sürümü.
warnings
JavaScript'inizdeki olası hataları belirten mesajlar.
errors
JavaScript dosyanızdaki söz dizimi hatalarını veya diğer hataları belirten mesajlar.
statistics

Closure Compiler'ın ulaştığı sıkıştırma derecesi hakkında bilgi. XML çıkışı için Closure Compiler hizmeti, istatistikleri aşağıdaki biçimde döndürür:

        <compilationResult>
          ...
          <statistics>
            <firstStatisticName>24</firstStatisticName>
            <secondStatisticName>15</secondStatisticName>
          </statistics>
        </compilationResult>
      

İsteğe Bağlı İstek Parametreleri

js_externs

Bu parametrenin değeri, işlev adlarını veya diğer sembolleri belirten JavaScript kodu olmalıdır. Derlediğiniz kodun dışında tanımlanan simgeleri korumak için js_externs kullanın. js_externs parametresinin etkisi, yalnızca compilation_level ADVANCED_OPTIMIZATIONS kullanıyorsanız geçerlidir. Daha fazla bilgi için Gelişmiş Derleme bölümüne bakın.

externs_url

Bu parametrenin değeri, işlev adlarını veya diğer sembolleri belirten JavaScript içeren bir dosyanın URL'si olmalıdır. Bu dosyada belirtilen simgeler, doğrudan js_externs parametresinde listelenen simgelerle tam olarak aynı şekilde korunur. externs_url parametresinin etkisi, yalnızca compilation_level ADVANCED_OPTIMIZATIONS kullanıyorsanız geçerlidir. Daha fazla bilgi için Gelişmiş Derleme bölümüne bakın.

Birden fazla harici dosyanız varsa bu parametreyi birden çok kez belirtebilirsiniz.

exclude_default_externs

Varsayılan olarak Closure Compiler hizmeti, harici olarak tanımlanan ve document gibi tüm yöntemleri açıklayan standart bir harici dosya kullanır. Bu yaygın istisnaları kullanmak İSTEMİYORSANIZ bir exclude_default_externs parametresini isteğinize ekleyin.

Dış yerler hakkında daha fazla bilgi için Gelişmiş Derleme ve Extres bölümüne bakın.

output_file_name

Mevcut olduğu durumlarda Closure Compiler hizmeti, derlenen kodu bir saat süreyle önbelleğe alır ve özel bir URL aracılığıyla kullanıma sunar. Bu saatte, tarayıcınızı bu URL'ye yönlendirerek derlenen kodu test edebilirsiniz. URL şu biçimdedir:

https://closure-compiler.appspot.com/code/bf067f356d510e1c7b81347eb84f65d2/[value of output_file_name]

formatting

İşaretler ve Seçenekler bölümünden formatting dokümanlarına bakın. Aynı istekte birden fazla formatting parametresi sağlayabilirsiniz.

use_closure_library

use_closure_library parametresine true değeri verirseniz derleyici, kaynak koddaki goog.require() ifadelerini arar ve bu tür ifadeler tarafından istenen Kapatma Kitaplığı kodunu sağlar. Ayrıca, Kitaplık Kitaplığı kodu için özel olarak tasarlanmış optimizasyonlar da gerçekleştirir. Kapatma Kitaplığı hakkında daha fazla bilgi için Kapatma Kitaplığı dokümanlarına bakın. goog.require() işlevi hakkında daha fazla bilgi edinmek için Kapatma Kitaplığı'nda Yolunuzu Bulma başlıklı makaleye bakın.

use_closure_library parametresi varsayılan olarak false değerine sahiptir.

warning_level

İşaretler ve Seçenekler bölümünden warning_level dokümanlarına bakın.

language

İşaretler ve Seçenekler bölümünden eşdeğer language_in seçeneği için dokümanlara bakın.

language_out

İşaretler ve Seçenekler bölümünden language_out dokümanlarına bakın.

rewrite_polyfills

İşaretler ve Seçenekler bölümünden rewrite_polyfills dokümanlarına bakın.

use_types_for_optimization

İşaretler ve Seçenekler bölümünden use_types_for_optimization dokümanlarına bakın.

Hata Mesajları

Sunucu isteğinizi işleme koyamazsa aşağıdaki tabloda listelenen sunucu hata mesajlarından birini alırsınız. Bu sunucu hatası mesajlarının derleyici hatalarından ve uyarılarından farklı olduğunu unutmayın. Derleyici hataları ve uyarıları, JavaScript Compiler'ın JavaScript kodunuzda bir sorun bulduğunu gösterir. Sunucu hata mesajları, derleyicinin isteğinizdeki bir hata nedeniyle kodunuzu hiç işleyemediğini gösterir.

Hata KoduHata MesajıAnlamı
2Bilinmeyen çıkış modu.output_format parametresinin değeri xml, json veya text dışında bir şeydir.
4Bilinmeyen sıkıştırma düzeyi.compilation_level parametresinin değeri WHITESPACE_ONLY, SIMPLE_OPTIMIZATIONS veya ADVANCED_OPTIMIZATIONS dışında bir şeydir.
8POST verileri çok büyük. Closure Compiler hizmetine gönderdiğiniz verilerin boyutu 200.000 baytı aşıyor. Derleyici Hizmet Arayüzü ve API çağrılarınız, hizmetle iletişim kurmak için bir HTTP POST isteği kullanır ve bu istekte gönderilen toplam veri miktarı 200.000 baytı aşamaz. API çağrılarında bu sınır, tüm istek parametrelerindeki toplam metin miktarı için geçerlidir. Kapatma Derleyici Arayüzü için bu sınır, hem kaynak kodu hem de @code_url gibi derleyici seçeneklerindeki toplam metin miktarı için geçerlidir. İsteğiniz çok büyükse kaynak kodunu ayrı dosyalara taşıyıp @code_url kullanarak bu dosyalara başvurun veya yerel makinenizde Closure Compiler uygulamasını kullanın.
9Dosya çok büyük.Tüm code_url dosyaları, externs_url dosyaları, js_code kodlarının tümü ve js_externs kodlarının toplam kodu 1024.000 baytı aşıyor.
10URL'den içerik alınamıyor.Kapatma Derleyici Hizmeti code_url parametresinde belirtilen bir JavaScript dosyasını veya externs_url parametresinde belirtilen bir harici dosyayı almaya çalıştığında hata oluştu. URL'nin doğru olduğundan ve dosya izinlerinin dosyanın görüntülenmesine izin verdiğinden emin olun.
12URL doğru şekilde oluşturulmamış.code_url veya externs_url parametresinin değeri, doğru biçimlendirilmiş bir URL değil.
13Üretilecek çıkış bilgisi yok ancak derleme istendi. output_info parametresi belirtilmedi.
14Bilinmeyen çıktı_bilgi değeriBir output_info parametresinin değeri, compiled_code, warnings veya statistics dışında bir şeydir.
16Bilinmeyen uyarı düzeyiwarning_level parametresinin değeri QUIET, DEFAULT veya VERBOSE dışında bir şeydir.
17Bilinmeyen biçimlendirme seçeneği.formatting parametresinin değeri, pretty_print dışında bir değer.
18HTTP isteğinde bilinmeyen parametreHTTP isteği, bu belgede listelenenler dışında bir parametre içeriyor.
19output_file_name için geçersiz değer Çıkış dosyası adında sayı, harf, nokta, alt çizgi veya kısa çizgi içeren bir karakter veya art arda iki nokta (..) bulunuyor
22Yakın zamanda çok fazla derleme gerçekleştirildi. Daha sonra tekrar deneyin. Makinenizden çok fazla derleme gönderdiniz. Bir saat sonra, derlemeleri tekrar çalıştırabilmeniz gerekir.
23Derleyici istisnası (geri izlemeli) Derleyici kilitlendi. Hata metni, Google'ın sorunu ayıklamasına yardımcı olacak bilgileri içerir.
24Desteklenmeyen giriş kaynağı türü Kaynak türü http: olmadığı için giriş dosyası alınmaz.