Sık Sorulan Sorular


Kapatma Derleyici nedir? Neden kullanmalıyım?
Closure Compiler, JavaScript'in indirilmesini ve daha hızlı çalışmasını sağlayan bir araçtır. JavaScript dosyalarınızın boyutunu küçültmek ve daha verimli hale getirmek için Kapatıcı Derleyici'yi kullanabilirsiniz.
Closure Compiler'ın, mevcut diğer JavaScript sıkıştırıcılardan farkı nedir?

Genel olarak, Kapanış Derleyici'yi diğer kod küçültme araçlarının sıkıştırma kapasitesini aşması veya aşması ve web uygulamanızın indirme sürelerini iyileştirmesi gerekir. Ayrıca, Closure Compiler, geliştirme sırasında (test sırasında değil) söz dizimi hatalarını bulmanıza ve hatalı olabilecek kod kalıplarını tespit etmenize yardımcı olabilir.

Basit modda, Closure Compiler, diğer araçlardan daha iyi performans gösterebilmelidir. Bunun nedeni, kod boyutunu en aza indirmek için ek yöntemler bulmak üzere derleyici benzeri analizler kullanmasıdır. Örneğin, Kapanış Derleyici yalnızca birkaç kez kullanılan işlevleri satır içine alabilir, değişken adlarını ve işlem öncesi sabit ifadeleri yeniden kullanabilir.

Gelişmiş Mod'da, Kapanış Derleme Aracı zor bulunan hataları bulmak için eklenen tür ek açıklamalarınızı da kullanabilir.

Closure Compiler, HTML'de yerleşik olarak bulunan JavaScript'i derleyebilir mi?
Hayır. Kapanış Derleyici yalnızca JavaScript içeren dosyalarda çalışır.
Kapatma Derleyici'yi diğer JavaScript küçültücülerle birlikte kullanabilir miyim?

Evet. Closure Compiler, tüm geçerli JavaScript'leri okuyup geçerli bir JavaScript oluşturur. Böylece dosyayı başka bir küçültücüyle çalıştırmadan önce veya çalıştırdıktan sonra Closure Compiler'ı JavaScript dosyasına uygulayabilirsiniz.

gelen kodla ilgili beklentiler olabileceğini unutmayın. Yorumları sadeleştiren bir küçültücü, örneğin başka bir aracın ihtiyaç duyduğu lisansları veya ek açıklama bilgilerini kaldırabilir.

Closure Compiler'ın oluşturduğu JavaScript'te nasıl hata ayıklama yapabilirim?
Derlenen kodunuz hataya neden oluyorsa veya beklenmeyen davranışlar sergiliyorsa sorunu ayıklamak için Kaynak Haritalar'ı kullanabilirsiniz. Kaynak eşleme, tarayıcının derlenmiş kodu yerine orijinal kaynak kodunuzu gösterebilmesi için, derlenen kod ile orijinal kaynak kodu arasında bir eşleme sağlar. Closure Compiler'ın kaynak eşlemesi oluşturmasını sağlamak için komut satırındaki --create_source_map işaretini iletin. Örneğin:
$ java -jar compiler.jar --js example.js --create_source_map ./example-map --js_output_file example-compiled.js
Ardından, Kaynak Haritalar'ı destekleyen bir tarayıcı (ör. Chrome veya Firefox) kullanıyorsanız derlenmemiş kodda olduğu gibi ayrılma noktaları ayarlayabilirsiniz. Bu durumda tarayıcının geliştirici araçları, orijinal kaynakta ilgili kod satırını gösterir. Kaynak haritaları hakkında bilgiler de dahil olmak üzere Chrome'un geliştirici araçları hakkında daha fazla bilgi için JavaScript hatalarını ayıklama bölümüne bakın.
Derleyici, uygulamamın yürütme hızı ile indirme kodu boyutu arasında bir denge kuruyor mu?
Evet. Herhangi bir optimize edici derleyici dezavantaj oluşturur. Bazı boyut optimizasyonları küçük hız ek yükleri sağlar. Ancak, Closure Compiler'ın geliştiricilerinin çalışma süresini önemli ölçüde uzatmamaya dikkat etmesi gerekiyordu. Derleyicinin bazı optimizasyonları çalışma zamanını bile azaltır (sonraki soruya bakın).
Derleyici hız için optimize ediliyor mu?
İndirme süresi, genellikle web uygulamalarındaki en önemli hız faktörü olduğundan, daha küçük kod daha hızlı koddur. Fazlalıkları azaltan optimizasyonlar, kodun çalışma süresini de hızlandırır.
Derlenebilecek dosyaların boyutu üzerinde herhangi bir kısıtlama var mı?
Derleme web hizmeti maksimum dosya boyutuna sahiptir ancak bağımsız derleyici uygulaması böyle bir boyuta sahip değildir.
Kapatma Derleyici tüm platformlarda kullanılabilir mi?
Derleyici, Java'da yazıldığı için Java'nın çalıştığı her yerde çalışabilir.
Derleyen, herhangi bir yasal JavaScript'i işleyebilir mi?
Çoğunlukla. eval() ve with() dahil olmak üzere bazı JavaScript yapıları, derleyicinin dönüşümlerinin temel aldığı varsayımları geçersiz kılabilir.
Closure Compiler'ı kullanmak için web geliştirme hakkında ne kadar bilgiye ihtiyacım var?
Closure Compiler, JavaScript geliştirme için kullanılan bir araçtır. Bu nedenle, derleyiciyi kullanmak için JavaScript'te nasıl programlama yapacağınızı bilmeniz gerekir. Ancak, JavaScript kullanan herkes Kapatma Derleyici'yi kullanabilir.
Kapatma Derlemesi'nin Kapatılması Kitaplığı ile çalışma şekli
Closure Compiler, kapanış kitaplığı kitaplığını kullanan kod için özel kontroller ve optimizasyonlar sağlar. Ayrıca, Kapanış Derleyici hizmeti de otomatik olarak Kapanış Kitaplığı dosyalarını içerebilir. Kapatmanın Yolunu Bulma, ihtiyacınız olan Kapatılan kısımları bildirmek için kullanılacak söz dizimini açıklar. API'nin Kapatma Kitaplığı'nı kullanma hakkında bilgi edinmek için API referansı belgesine bakın. Kapatma Kitaplığı'nı Kapatma Derlemesi uygulamasıyla kullanmak için önce kapanış kitaplığını indirmeniz gerekir. Kapatma Kitaplığı desteği, derleyici uygulamasında varsayılan olarak etkindir.
Kodum ADVANCED_OPTIMIZATIONS ile derlendiğimde çalışmıyor veya Derleyici tarafından hata oluşuyor. Bunun sebebi nedir?
Gelişmiş modu kullanmak için genellikle bazı hazırlık ve kod değişiklikleri gerekir. Gelişmiş Derleme ve Extex'ler, kodunuzun ADVANCED_OPTIMIZATIONS ile nasıl çalıştığından emin olmanızı sağlar.
Derlenen komut dosyalarında neden rastgele satır feed'leri var?
Kapanış Derleme Aracı kasıtlı olarak 500 karakterde bir satır sonu ekler. Güvenlik duvarları ve proxy'ler bazen çok uzun satırlı büyük JavaScript dosyalarını bozabilir veya yok sayabilir. 500 karakterden sonra satır sonu eklemek bu sorunu önler. Satır sonlarını kaldırmanın, komut dosyasının semantiği üzerinde hiçbir etkisi yoktur. Kod boyutu üzerindeki etki küçüktür ve derleyici, satır sonu yerleşimini optimize ederek dosyalar gzip olarak sıkıştırıldığında kod boyutu cezasını daha da azaltır.
Kaynak kodumda gösterilmesi gereken telif hakkı bildirimlerim veya açık kaynak lisans metnim var. Kapatma Derleyici'nin bu metni çıkarmasını nasıl önleyebilirim?
Closure Compiler, JSDoc @license etiketini destekler. Derleyici çıkışında yorumu korumak için herhangi bir JSDoc yorumuna @license etiketini ekleyin. Daha fazla bilgi için kapanış derlemesi için JavaScript ek açıklaması konusuna bakın.