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

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