Furkan Tektaş

minify

13 Ağustos 2011

Minify ile Javascript ve Css Birleştirme/Sıkıştırma

Bu yazıda kendi web projelerinizde kullandığınız javascript dosyalarını, css dosyalarını nasıl birleştirerek http isteklerinizi azaltabileceğinizi, nasıl küçültebileceğinizi, nasıl gzip ile sıkıştırabileceğinizi anlatacağım. Bunun için minify projesinden yararlanacağız.

Öncelikle şu anki stabil minify sürümünü bu adresten indirelim. Daha sonra bu dosyadan çıkacak “min” ve “min_unit_tests” isimli klasörleri web dizininize çıkartın. Ve öncelikle web tarayıcınızdan min_unit_test isimli klasöre erişin(mesela: http://localhost/min_unit_tests) Buradan isterseniz tek tek server gereksinimlerini karşılayıp karşılamadığınızı test edebilirsiniz, isterseniz de test_all.php isimli dosyaya erişerek tüm gereksinimleri bir kerede kontrol edebilirsiniz. Eğer hata almadıysanız artık min_unit_tests isimli klasörü silebilirsiniz. Haydi başlayalım:)

  1. min klasörü altındaki config.php isimli dosyayı açıp oradaki $min_cachePath değerimizi kendi server konfigürasyonumuza göre ayarlıyoruz. Örn:
    $min_cachePath = 'var/www/tmp';

    Tarayıcınızdan web dizinimize kopyaladığımız min dizinine erişiyoruz: http://127.0.0.1/min (veya http://www.siteadiniz.com/min)

  2. Açılan sayfadaki textbox’a sıkıştıracağımız javascript veya css dosyasının adresini giriyoruz; eğer birden fazla dosyayı birleştrerek sıkıştıracaksak hepsinin aynı tür(ya javascript yada css) olmasına dikkat ederek “Add file +” butonuna tıklayarak diğer dosyaların adreslerini giriyoruz.
  3. Daha sonra Update butonuna tıklıyoruz.
  4. İstersek direk olarak html kodunu alıp ilgili dosyaya yapıştırıyoruz: Örn:
    <script type="text/javascript" src="/min/f=ornekklasor/ornekdosya.js"></script>
  5. Veya altta
    'keyName' => array('//klasoradi/dosyaadi.js'),

    şeklinde yazılmış olan satırı min klasörü altındaki groupsConfig.php dosyasının içine yapıştırıyoruz.

    • Eğer groupsConfig.php dosyasına şunu yapıştırırsak:
      'kisaAdres' => array('//klasoradi/dosyaadi.js'),

      tek tek dosya isimlerinin yazılmadığı bir url ile kısaca ve daha performanslı bir şekilde compress edilmiş javascript veya css dosyalarımıza erişebiliriz. (Örneğin: /min/g=kisaAdres)

Peki neden minify kullanmalıyız?

  • Minify kullanarak ziyaretçilerin yaptıkları HTTP isteklerini azaltacağımız için hem sayfamızın yüklenme süresi azalacak, hem de server’ımıza daha az istek yapılmış olacaktır.
  • Minify kullandığımızda dosyalar minimize edilip gzip ile sıkıştırılacağı için çok daha küçük boyuttaki dosyalar transfer edilecek, böylece hem sayfamızın açılış hızı artacak hem de server’ın trafiği azalacaktır.
  • Minify kullandığımızda dosyalarımızın header bilgilerine max-age=1800 (veya istediğimiz farklı bir değer) ekleyebileceğimizdenkullanıcılar gezinirken max-age süresi dolmamış içerikleri yüklerken çok daha az zaman harcayacaktır.

Minify kullanabileceğimiz CMS ve Frameworkler

  1. WordPress (WP-Minify ve W3 Total Cache)
  2. Zend Framework (MinifyHeadLink)
  3. Yii Framework (minscript Extension)
(Not: Bu yazıyı hazırlarken üzerinde çalıştığım 5.7kB’lık javascript dosyası ilk ziyaretimde 1.13kB olarak transfer edildi, ikinci ziyaretimde ise bu boyut 266bayt’a kadar düştü.)

Kategori: Teknoloji | Tagler: compress, css, javascript, minify, wordpress, yii, zend

Minify ile Javascript ve Css Birleştirme/Sıkıştırma yazısına toplam 2 yorum yapılmış.

    • Tabiki var. Google ile “javascript compressor” veya ” css compressor” aramalarıyla da sıkıştırma yapabilirsiniz. Ayrıca jquery gibi kütüphaneleri CDN aracılığıyla da sunabilirsiniz. Fakat bu yolun avantajı http header göndererek gezinti esnasında bir daha indirilmesini engellemek.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>