Kısaca Grunt

Grunt bir görev çalıştırıcısı. Web geliştirme sürecinde ihtiyacınız olan operasyonları otomatize etmenize yarayacak bir araç. Daha çok platforma dönüşmüş olan grunt, yüzlerce eklentiyle istediğiniz forma sokabileceğiniz bir yapılandırma aracı. Hızlıca bir örnek vereceğim. Basit bir web sitesi hazırlıyorsunuz ve stillerinizi css yerine less ile yazdınız, javascriptlerinizi cosnole.log debug satırlarıyla ve bir sürü yorum ile yazdınız. Sitenizi her yayına alacagınızda bir toparlama ve paketleme işi yapmanız gerekiyor, lessilerinizi css'lere derlemek, belki cssmin gibi ufaltma operasyonuna sokmak, imajlarınızı sıkıştırmanız, javascriptlerinizi temizleyip küçültmeniz belki birden fazla kaynağı tek dosyada birleştirmeyi isteyeceksiniz. Her değişiklik yaptığınızda bu işlemleri tekrarlamanıza imkan yok. İşte bu noktada grunt devreye giriyor.

Grunt ile neler yapabilirsiniz?

Sonu yok çünkü kendi eklentilerinizi yazarak node.js yeteneklerini kullanarak yapamayacağınız şey yok. Ama eklenti veritabanından erişebileceğiniz o kadar çok şey var ki.
- Less, Scss, Sass vb... herhangi bir css derleme işinizi
- Kod validasyonu (css, js, html)
- Imaj optimizasyonu
- Birden fazla javascript veya css kaynağını birleştirme
- Css veya javascript sıkıştırma
- Kodunuzdaki yorumları, debug için geriye kalan artıkları temizleme
- Kaynak versiyonlama

Daha sayamadığım bir çok operasyonu grunt ile farklı kombinasyonlarda hazırlamanız mümkün.

Örnek

Versiyonlamayı denemek için kendime bir örnek kod hazırladım ve github'da paylaştım. Basit bir css javascript projesinde kodumu yayınlamadan önce bütün css ve javascript kaynaklarımı sıkıştırıp adlarını versiyonlamarak yayındaki tüm dosyaların en taze kodu kullanmasını sağlamak için grunt kullandım. Projeyehttps://github.com/mfyz/grunt-release-boilerplate adresinden erişebilirsiniz.

Grunt hakkinda daha fazla bilgiye sitesinden erişebilirsiniz:http://gruntjs.com/

Popüler Etiketler

search google network social facebook opengraph api optimization fql jquery link plugin editor coding linux regex mysql sql optimizasyon analyse procedure wireless share oyun iOS tebrik gimp howto nasıl twitter calendar media tool wanda php db code open source lisans www subdomain redirect crossdomain ui ux css3 icons mootools ipucu javascript js örnek kod apple ipad iphone mobile itunes html html5 form input rss xml export language lifestream dokuman meta screen konsol terminal nedir textarea select auth internet portfolio mail signature imza ios app banner developer sitemap generator mfyz login session proje kampanya job macosx osx player while web app license icon ikon grafik download firefox logo blog applications free date diff zaman tarih cookie url service css parse ajax less development style sosyal medya istatistik statistics graph radio connect box ruffles doritos workspace bootstrap tytz laptop notebook digital wordpress widget kitap design apache kurulum insanlar spam seo app store store in-app purchase purchase verification integration storekit itunes connect server framework xhtml http ubuntu database phpstorm jetbrains pgsql mssql ide internet explorer windows startups music button switch mdb2 pear injection svn subversion xmlhttprequest newsletter ie support browser htaccess route router mod_rewrite object cms compile compiler on-the-fly assets cache kontrol yapıları if chart deployment version control git pharma hack subscription prepare execute table query fstab ntfs browsers webkit