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
veyacode_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 fazlacode_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ğecompiled_code
değerine sahip biroutput_info
parametresi eklerseniz görünür. Benzer şekilde,statistics
bölümü yalnızcastatistics
değerine sahip biroutput_info
parametresi eklerseniz görünür.warnings
değerine sahip biroutput_info
parametresi eklerseniz ve derleyici bir uyarı oluşturursa çıkışa birwarnings
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 biroutput_info
eklerseniz Kapat komutunun derlemesi bir söz dizimi hatası veya derlemeyi önleyen başka bir sorun içeriyorsa Kapanış Derleme Hizmetierrors
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
vewarning
etiketlerininfile
,line
vecol
ö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çerisindecompiled_code
varsa metin JavaScript içerir.output_info
warnings
içeriyorsa metin uyarı mesajları içerir.output_info
içerisindestatistics
varsa metin istatistik içerir.
output_format
parametresi varsayılan olaraktext
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ızcacompilation_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ızcacompilation_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 birexclude_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 fazlaformatting
parametresi sağlayabilirsiniz. -
use_closure_library
-
use_closure_library
parametresinetrue
değeri verirseniz derleyici, kaynak koddakigoog.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 olarakfalse
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 Kodu | Hata Mesajı | Anlamı |
---|---|---|
2 | Bilinmeyen çıkış modu. | output_format parametresinin değeri xml , json veya text dışında bir şeydir. |
4 | Bilinmeyen sıkıştırma düzeyi. | compilation_level parametresinin değeri WHITESPACE_ONLY , SIMPLE_OPTIMIZATIONS veya ADVANCED_OPTIMIZATIONS dışında bir şeydir. |
8 | POST 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.
|
9 | Dosya ç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. |
10 | URL'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. |
12 | URL 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. |
14 | Bilinmeyen çıktı_bilgi değeri | Bir output_info parametresinin değeri, compiled_code , warnings veya statistics dışında bir şeydir. |
16 | Bilinmeyen uyarı düzeyi | warning_level parametresinin değeri QUIET , DEFAULT veya VERBOSE dışında bir şeydir. |
17 | Bilinmeyen biçimlendirme seçeneği. | formatting parametresinin değeri, pretty_print dışında bir değer. |
18 | HTTP isteğinde bilinmeyen parametre | HTTP isteği, bu belgede listelenenler dışında bir parametre içeriyor. |
19 | output_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 |
22 | Yakı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. |
23 | Derleyici istisnası (geri izlemeli) | Derleyici kilitlendi. Hata metni, Google'ın sorunu ayıklamasına yardımcı olacak bilgileri içerir. |
24 | Desteklenmeyen giriş kaynağı türü | Kaynak türü http: olmadığı için giriş dosyası alınmaz. |